2019独角兽企业重金招聘Python工程师标准>>>

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://my.oschina.net/rightemperor/blog/1831739

Spring clound 组件相关推荐

  1. Spring Boot搭建简易spring clound框架 (一)

    Spring Boot搭建简易spring clound框架 (一) 1.搭建之前先了解微服务 微服务架构介绍 微服务架构(Microservice Architecture)是一种架构概念,旨在通过 ...

  2. Spring Aop 组件概述

    Spring Aop 概述 AOP(Aspect-Oriented Programming) 面向切面编程, 这种编程模型是在 OOP(Object-Oriented Programming) 的基础 ...

  3. Spring过滤器组件自动扫描

    在这个Spring自动组件扫描的教程,您已经了解如何使Spring自动扫描您的组件.在这篇文章中,我们将展示如何使用组件过滤器自动扫描过程. 1.过滤组件 - 包含 参见下面的例子中使用Spring  ...

  4. spring 组件扫描_避免不必要的Spring配置组件扫描

    spring 组件扫描 我在堆栈溢出中遇到了一个有趣的问题. Brett Ryan有问题,Spring Security配置被初始化了两次. 当我查看他的代码时,我发现了问题所在. 让我展示显示代码. ...

  5. spring aop组件_安全性中的Spring AOP –通过方面控制UI组件的创建

    spring aop组件 以下文章将显示在我参与的一个项目中,我们如何使用Spring的AOP来介绍一些与安全性相关的功能. 这样的概念是,为了使用户能够看到某些UI组件,他需要具有一定级别的安全特权 ...

  6. 避免不必要的Spring配置组件扫描

    我在堆栈溢出中遇到了一个有趣的问题. Brett Ryan有问题,Spring Security配置被初始化了两次. 当我查看他的代码时,我发现了问题所在. 让我展示显示代码. 他有相当标准的Spri ...

  7. 分布式锁 动态代理 Java数据结构List,Set,Map,Spring执行流程,Spring MVC组件

    这里对今日的内容进行总结: 分布式锁具备的条件: 具备的条件: 在分布式系统环境下,一个方法在同一时间只能被一个机器的一个线程执行. 高可用的获取锁与释放锁. 高性能的获取锁与释放锁. 具备可重入的特 ...

  8. spring boot组件_Spring Boot Framework的关键组件和内部

    spring boot组件 In my previous post "Introduction to Spring Boot", we have discussed about S ...

  9. Spring 条件组件注解:`@Conditional` 与 `@ConditionalOnBean`

    Spring 条件组件注解:@Conditional 与 @ConditionalOnBean 文章目录 Spring 条件组件注解:`@Conditional` 与 `@ConditionalOnB ...

最新文章

  1. 【NOIP2016】组合数问题
  2. linux 环境变量 export PATH和PATH有什么区别?
  3. Linux学习:文件属性函数
  4. CentOS7 安装NodeJS
  5. Codeforces Round #467 (Div. 1): B. Sleepy Game(BFS+有向图判环)
  6. |洛谷|动态规划|P2014 选课
  7. Django学习(二)
  8. Nask汇编编写操作系统,自制NaskCode开发环境
  9. 从毫无交集到走向融合,AI+区块链才是改变世界的黑科技!
  10. mysql中Mysql模糊查询like效率,以及更高效的写法和sql优化方法
  11. js获取屏幕高度、宽度
  12. websockets_Websockets在数据工程中鲜为人知的模式
  13. 什么是智能无损网络?
  14. 信息学奥赛一本通 1357:车厢调度(train)
  15. html5光线传感器,HTML5设备传感器总结
  16. float 精度探究
  17. 原生js做一个简单的仿幻灯片放映
  18. vr全景视频是如何拍摄的呢,商家为何要进行拍摄全景
  19. CS5801 HDMI转4K 4lane_DP/eDP方案
  20. 红外光谱曲线的基线调整

热门文章

  1. 华为云mysql怎么玩_初次尝试华为云
  2. Puzzle Game HihoCoder - 1634
  3. android 自定义透明progressdialog,在android中自定义progressdialog动态创建
  4. php callable closure,PHP 中`Closure`和`Callable`的区别以及在 Redis 订阅方法中的使用
  5. linux chroot绿色程序,关于 Linux 下的 chroot 的些许介绍
  6. 什么牌子蓝牙耳机最好?音质最好的真无线蓝牙耳机推荐
  7. Mysql存储过程示例以及说明
  8. django基础操作,命令
  9. L9110S电机驱动模块demo
  10. pandas使用教程:apply函数、聚合函数agg和transform