SpringCloud各个组件说明

  对于SpringCloud来说,首先我们需要认识一些基本的组件,这会让我们之后的讨论和交流更有效率。

  

组件名字和发音

 

  如果你都不知道别人再说什么,或者别人都不知道你再讲什么,就很尴尬了。

  Eureka [jʊ'ri:kə]

  Ribbon [ˈrɪbən]

  Feign [fen]

  Hystrix [hɪst'rɪks]

  Zuul [zulu]

  Sleuth [sluθ]

  Turbine [ˈtɜ:rbaɪn]

  

重要组件说明

 

  这里的说明借用网上一个很6的分类方式来说明。

  润物无声类和独挑大梁类。

  独挑大梁,独自启动不需要依赖其它组件。

  Eureka,服务注册中心,特性有失效剔除、服务保护。(类似生活中的大堂,登记了整个项目的所有服务)

  Dashboard,Hystrix仪表盘,监控集群模式和单点模式,其中集群模式需要收集器Turbine配合。(类似生活中的保安监控室)

  Zuul,API服务网关,功能有路由分发和过滤。(类似交警叔叔,指挥道路交通)

  Config,分布式配置中心,支持本地仓库、SVN、Git、Jar包内配置等模式。(类似规章制度,每个人都从这里获取规定配置)

  润物无声,融合在每个微服务中、依赖其它组件并为其提供服务。

  Ribbon,客户端负载均衡,特性有区域亲和、重试机制。(类似nginx)

  Hystrix,客户端容错保护,特性有服务降级、服务熔断、请求缓存、请求合并、依赖隔离。(怕访问过于频繁服务挂了,进行限流,太频繁的请求就直接拒绝)

  Feign,声明式服务调用,本质上就是Ribbon+Hystrix。(用注解的方式进行服务调用,代码更好看了)

  Stream,消息驱动,有Sink、Source、Processor三种通道,特性有订阅发布、消费组、消息分区。

  Bus,消息总线,配合Config仓库修改的一种Stream实现。(用于广播消息,一说大家都知道了啦)

  Sleuth,分布式服务追踪,需要搞清楚TraceID和SpanID以及抽样,如何与ELK整合。(服务多了,调用的线路就会很复杂,需要跟踪来知道你到底是怎么走的)

  

总结

 

  SpringCloud组件太多,很多人会觉得学习成本很大,而且即使学到了好像在实际中很难去应用,因为应用场景导致。所以在学习的时候,需要抓住重点,并不是所有组件在一个项目中都会用到的,很多时候我们需要的只是其中必要的部分,有了必要的东西我们就能完成我们所需要的功能,而多数的组件是为了方便很多功能,或者对于后面的业务扩展有追求的时候使用的。之后会慢慢更新每个组件的细节使用,以及实际使用的业务场景。

  

你可能感兴趣的:(个人技术分享)