zoukankan      html  css  js  c++  java
  • 微服务之SpringCloud实战(一):SpringCloud简介

    什么是微服务架构

      微服务架构就是系统架构设计的一种风格,它主旨将一个独立的系统,拆分成各个微服务,各个微服务独立运行,他们之间通过Http的Restful API进行通信,拆分出来的微服务是根据原系统高耦合部分进行构建(之后会单独讲解如何拆分微服务),每个微服务都有自己的数据存储(涉及到分布式事务的处理,之后会有讲解)、独立部署,由于轻量级的通讯协议,微服务可以使用不同的语言来开发。 

    单体式应用的区别

      以往的传统架构,我们会针对一个业务进行构建一个单体项目,主要分为数据、服务端、客户端,在业务初期往往开发、测试、部署等相对比较简单,但是经过不断的更新迭代之后会发现这个单体应用汇很臃肿,并且耦合度极高,可能修改一处代码会牵扯到很多地方的修改,缺点慢慢就暴露出来了,维护成本也会越来越大,且开发不容上手。

      微服务就解决了这个单体应用臃肿难以维护的问题,我们可以将不同的功能模块进行拆分,拆分出一个一个微服务,可独立部署和扩展,部署一个微服务不会影响到其他微服务的运行,实现了高内聚、低耦合,我们也可以更准确的去发现系统的性能瓶颈

    SpringCloud

      SpringCloud是一个基于SpringBoot实现的微服务架构开发工具,它为微服务中的服务治理、配置管理、智能路由、分布式会话、集群状态等提供了一个简单的开发方式。

      SpringCloud包含多个组件:

        SpringCloud Netflix:核心组件,对多个Netflix OSS开源套件进行整合。

          Eureka:服务治理组件,包含服务注册中心,服务注册与发现的实现。

          Hystrix:断路由,帮助服务依赖中出现延迟和故障时提供强大的容错机制。

          Ribbon:客户端负载均衡组件。

          Feign:基于Ribbon和Hystrix的声明式服务调用组件,一般用于服务之间相互调用。

          Zuul:网关,智能路由、智能过滤等功能。

          Archaius:外部化配置组件。

        SpringCloud Config:配置中心,可实现配置外部化存储,支持使用SVN、GIT存储配置,并支持配置刷新功能。

        SpringCloud Bus:消息总线,用于传播集群中各微服务的状态变化,比如可以实现动态刷新配置

        SpringCloud Stream:通过Kafka、Redis、MQ、可以实现消费微服务,通过简单的模型就可实现发送和消费

        SpringCloud Sleuth:链路追踪组件,可实现分布式跟踪,方便定位问题等

        还有很多组件这里就不一一介绍了

    SpringCloud是基于SpringBoot搭建的,所以大家要对SpringBoot有一定的掌握

  • 相关阅读:
    用友U8 | 【基础设置】添加财务项目分类
    用友U8 | 【出纳管理】通过收支操作出纳收款生单,生成收款单表头信息带不过去
    MySQL经典45题(一)
    用友U8 | 【出纳管理】出纳模块银行日记账提示"已经加过类型为MD的锁"
    用友U8 | 【凭证打印】如何将凭证输出为PDF电子格式
    用友U8 | 【请购单列表】后台数据库导请购单列表
    用友U8 | 【数据权限档案分配】导出客户档案分配表
    用友U8 | 【出纳管理】收支操作,客户收款,出纳收款查询不了相关数据
    鼠标事件中鼠标的坐标是如何定义的
    Visual Studio 中各种文件后缀名是什么意思
  • 原文地址:https://www.cnblogs.com/gslblog/p/9897659.html
Copyright © 2011-2022 走看看