一,Eureka

服务注册中心,特性有失效剔除、服务保护、健康检查。

二、Ribbon

客户端负载均衡,特性有区域亲和、重试机制。

三、Hystrix

客户端容错保护,特性有服务降级、服务熔断、请求缓存、请求合并、依赖隔离。

四、Feign

声明式rest服务调用,本质上就是Ribbon+Hystrix

前面介绍了很多Spring Cloud的组件,本篇按照自己的角度来做一次归纳。

Spring Cloud技术应用从场景上可以分为两大类:润物无声类和独挑大梁类。

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

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

Hystrix,客户端容错保护,特性有服务降级、服务熔断、请求缓存、请求合并、依赖隔离。

Feign,声明式服务调用,本质上就是Ribbon+Hystrix

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

Bus,消息总线,配合Config仓库修改的一种Stream实现,

Sleuth,分布式服务追踪,需要搞清楚TraceID和SpanID以及抽样,如何与ELK整合。

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

Eureka,服务注册中心,特性有失效剔除、服务保护。

Dashboard,Hystrix仪表盘,监控集群模式和单点模式,其中集群模式需要收集器Turbine配合。

Zuul,API服务网关,功能有路由分发和过滤。

Config,分布式配置中心,支持本地仓库、SVN、Git、Jar包内配置等模式,

每个组件都不是平白无故的产生的,是为了解决某一特定的问题而存在。

Eureka和Ribbon,是最基础的组件,一个注册服务,一个消费服务。

Hystrix为了优化Ribbon、防止整个微服务架构因为某个服务节点的问题导致崩溃,是个保险丝的作用。

Dashboard给Hystrix统计和展示用的,而且监控服务节点的整体压力和健康情况。

Turbine是集群收集器,服务于Dashboard的。

Feign是方便我们程序员些更优美的代码的。

Zuul是加在整个微服务最前沿的防火墙和代理器,隐藏微服务结点IP端口信息,加强安全保护的。

Config是为了解决所有微服务各自维护各自的配置,设置一个同意的配置中心,方便修改配置的。

Bus是因为config修改完配置后各个结点都要refresh才能生效实在太麻烦,所以交给bus来通知服务节点刷新配置的。

Stream是为了简化研发人员对MQ使用的复杂度,弱化MQ的差异性,达到程序和MQ松耦合。

Sleuth是因为单次请求在微服务节点中跳转无法追溯,解决任务链日志追踪问题的。

特殊成员Zipkin,之所以特殊是因为从jar包和包名来看它不属于Spring Cloud的一员,但是它与Spring Cloud Sleuth的抽样日志结合的天衣无缝。乍一看它与Hystrix的Dashboard作用有重叠的部分,但是他们的侧重点完全不同。Dashboard侧重的是单个服务的统计和是否可用,Zipkin侧重的监控环节时长。简言之,Dashboard侧重故障诊断,Ziokin侧重性能优化。

转载于:https://www.cnblogs.com/yeyusheng/p/8539141.html

spring cloud各组件详解相关推荐

  1. Spring Cloud限流详解(附源码)

    在高并发的应用中,限流往往是一个绕不开的话题.本文详细探讨在Spring Cloud中如何实现限流. 在 Zuul 上实现限流是个不错的选择,只需要编写一个过滤器就可以了,关键在于如何实现限流的算法. ...

  2. Spring Cloud限流详解(内含源码)

    为什么80%的码农都做不了架构师?>>>    原文:http://www.itmuch.com/spring-cloud-sum/spring-cloud-ratelimit/ 在 ...

  3. Spring Cloud Feign使用详解

     通过前面两章对Spring Cloud Ribbon和Spring Cloud Hystrix的介绍,我们已经掌握了开发微服务应用时,两个重要武器,学会了如何在微服务架构中实现客户端负载均衡的服务调 ...

  4. SpringCloud入门之应用程序上下文服务(Spring Cloud Context)详解

    构建分布式系统非常复杂且容易出错.Spring Cloud为最常见的分布式系统模式提供了简单易用的编程模型,帮助开发人员构建弹性,可靠和协调的应用程序.Spring Cloud构建于Spring Bo ...

  5. 微服务网关spring cloud gateway入门详解

    1.API网关 API 网关是一个处于应用程序或服务( REST API 接口服务)之前的系统,用来管理授权.访问控制和流量限制等,这样 REST API 接口服务就被 API 网关保护起来,对所有的 ...

  6. Spring Cloud Feign原理详解

    目录 1.什么是Feign? 2.Open Feign vs Spring Cloud Feign 2.1.OpenFeign 2.2.Spring Cloud Open Feign 3.Spring ...

  7. Spring Cloud Gateway配置详解-过滤器

    Spring Cloud Gateway-过滤器 本节将为大家详细介绍Spring Could Gateway 内置过滤器相关内容. Spring Cloud Gateway 过滤器为大家提供了修改特 ...

  8. Spring Cloud Gateway 过滤器详解

    一.概述 Spring Cloud Gateway根据作用范围划分为:GatewayFilter和GlobalFilter 1.filter的作用和生命周期 由filter工作流程点,可以知道filt ...

  9. spring cloud 断路器仪表盘详解

最新文章

  1. fiddler+android抓包工具配置使用
  2. python调用钉钉API发送消息
  3. oracle tabe unlock_Oracle 学习之性能优化(四)收集统计信息
  4. ElasticSearch vs Solr多维度分析对比
  5. NetBeans Java EE技巧8:持久性单元
  6. java undo_用JAVA实现Undo、Redo,Copy、Paste、Cut_java
  7. 金融项目app服务器配置,云在金融的应用
  8. 1949:【10NOIP普及组】数字统计
  9. 菜鸟学习笔记:Java提升篇2(容器2——Map、Set、迭代器)
  10. 【Vue2.0】—mixin混入 (十五)
  11. php页面审核,深入理解用PHP实现页面注册审核
  12. 制作Linux系统安装程序,制作自己的rpm包
  13. 智能家居APP设计规格
  14. DM数据库密码策略和登录限制设置
  15. Android自定ViewGroup实现流式布局
  16. CVPR'22 | 基于像素差异学习的视频高光检测算法及在视频广告中的应用
  17. ArcGIS中进行影像裁剪的几种方法汇总
  18. w ndows10图标,win10桌面图标变白怎么解决
  19. 计算机打字键盘怎么控制,电脑键盘打字技巧
  20. [电路笔记]非线性电路

热门文章

  1. Spring Boot (一)Spring Boot 概述
  2. 计算机视觉之OpenCV教程 ---Mat类基础(一)
  3. 【机器视觉】 serialize_measure算子
  4. mysql容器操作_如何使用运行MySQL构建Docker容器?
  5. 网络编程--Address already in use 问题
  6. 进程间通信--信号(SIG)
  7. 51nod 1435 位数阶乘 (手动计算)
  8. 每天一道LeetCode-----实现一个栈,提供一个接口用于返回栈中最小值
  9. keepalived(8)——http、tcp检测
  10. 实现接口java_Java – 实现接口