SpringCloud

1.服务注册

开发环境,服务提供者和消费者直连,不注册到Eureka Server

配置文件:spring.cloud.service-registry.auto-registration.enabled=false或@EnableDiscoveryClient(autoRegister=false)

生产环境,提供者和消费者注册到Eureka Server(默认是自动注册的)

2.版本

springcloud没有采用版本号的方式,而是采用版本名的方式,避免版本号与其子项目的版本号混淆

这些版本采用的伦敦地铁站的名字,按照字母排序对应版本的时间顺序 
比如最早的RELEASE版本是 Angel,第二是Birxton……

版本名后面的SR4、SR5就是版本号了(service Release 4)

3.springcloud sleuth两种方式整合Zipkin

   http直连Zipkin

   MQ方式,如下

SpringCloud

对比及分析

对比后不难发现,从Edgware开始,Sleuth基于MQ整合Zipkin更加的简化!不过,改动还是比较大的。官方为什么要做这个改进呢?答案如下——

  1. Spring Cloud Edgware之前的版本使用Zipkin 1.x ,要想MQ方式收集数据,需整合spring-cloud-sleuth-stream 。而在Edgware及更高版本中,使用Zipkin 2.x 。Zipkin 2.x 本身已支持基于MQ的数据收集方式,故而spring-cloud-sleuth-stream 将被废弃!
  2. 两种使用方式不兼容,请读者务必注意!

文章参考:http://www.itmuch.com/spring-cloud/edgware-new-sleuth-zipkin-mq/


4.组件含义

Spring Cloud Eureka(注册中心):服务治理
Spring Cloud Ribbon(负载均衡--服务消费):是一个客户端负载均衡的组件,主要提供客户侧的软件负载均衡算法
Spring Cloud Hystrix(服务容错保护):断路器
Spring Cloud Feign(声明式服务调用--服务消费):Feign的主要目标是将Java Http客户端变得简单。
Spring Cloud Zuul(服务网关)
Spring Cloud Config(分布式配置中心)
Spring Cloud Bus(消息总线):它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控。
Spring Cloud Stream(消息驱动的微服务):是一个用来为微服务应用构建消息驱动能力的框架。通过使用Spring Integration来连接消息代理中间件以实现消息事件驱动。引用了发布-订阅、消费组、分区的三个核心概念。目前仅支持RabbitMQ、Kafka。
Spring Cloud Sleuth(分布式服务跟踪):主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了zipkin
Spring Cloud Swagger(接口管理)

图:SpringCloud

Ribbon和Feign区别联系

Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。Feign默认集成了ribbon。

二者具体代码区别参考博客:http://blog.****.net/forezp/article/details/69808079