Contents
  1. 1. 优势讲解blog
  2. 2. 特点描述
    1. 2.1. Spring Cloud的核心功能:
    2. 2.2. SpringCloud各组件配置使用运行流程:
    3. 2.3. 微服务vs传统开发
    4. 2.4. SpringCloud 和Dubbo的区别

优势讲解blog

http://www.cnblogs.com/ityouknow/p/7508306.html

另外一个源码很详细的blog
https://www.kancloud.cn/fymod/springcloud/536930

特点描述

Spring Cloud的核心功能:

  • 分布式/版本化配置
  • 服务注册和发现
  • 路由
  • 服务和服务之间的调用
  • 负载均衡
  • 断路器
  • 分布式消息传递

SpringCloud各组件配置使用运行流程:

  1. 请求统一通过API网关(Zuul)来访问内部服务.
  2. 网关接收到请求后,从注册中心(Eureka)获取可用服务
  3. 由Ribbon进行均衡负载后,分发到后端具体实例
  4. 微服务之间通过Feign进行通信处理业务
  5. Hystrix负责处理服务超时熔断
  6. Turbine监控服务间的调用和熔断相关指标
  7. Spring Cloud Config 提供了统一的配置中心服务
  8. 当配置文件发生变化的时候,Spring Cloud Bus 负责通知各服务去获取最新的配置信息
  9. 最后我们使用Sleuth+Zipkin将所有的请求数据记录下来,方便我们进行后续分析

微服务vs传统开发

  • 分工不同,以前我们可能是一个一个模块,现在可能是一人一个系统。

  • 架构不同,服务的拆分是一个技术含量很高的问题,拆分是否合理对以后发展影响巨大。

  • 部署方式不同,如果还像以前一样部署估计累死了,自动化运维不可不上。

  • 容灾不同,好的微服务可以隔离故障避免服务整体down掉,坏的微服务设计仍然可以因为一个子服务出现问题导致连锁反应。

SpringCloud 和Dubbo的区别

  1. Dubbo的优点
  • Dubbo专注于服务治理;Spring Cloud关注于微服务架构生态

  • Dubbo 支持更多的协议,如:rmi、hessian、http、webservice、thrift、memcached、redis 等。

  • Dubbo 使用 RPC 协议效率更高,在极端压力测试下,Dubbo 的效率会高于 Spring Cloud 效率一倍多。

  • Dubbo 有更强大的后台管理,Dubbo 提供的后台管理 Dubbo Admin 功能强大,提供了路由规则、动态配置、访问控制、权重调节、均衡负载等诸多强大的功能。

  • 白名单功能:可以限制某个 IP 流量的访问权限,设置不同服务器分发不同的流量权重,并且支持多种算法,利用这些功能我们可以在线上做灰度发布、故障转移等,Spring Cloud 到现在还不支持灰度发布、流量权重等功

  1. SpringCloud优点
  • 少配置,引入jar包和极少的配置实现远程调用
  • 用java的eureka替代zookeeper实现注册发现
  • 引入多个provider的话(需要spring.application.name参数一样),默认轮询做负载均衡
Contents
  1. 1. 优势讲解blog
  2. 2. 特点描述
    1. 2.1. Spring Cloud的核心功能:
    2. 2.2. SpringCloud各组件配置使用运行流程:
    3. 2.3. 微服务vs传统开发
    4. 2.4. SpringCloud 和Dubbo的区别