Spring clound 组件
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 组件相关推荐
- Spring Boot搭建简易spring clound框架 (一)
Spring Boot搭建简易spring clound框架 (一) 1.搭建之前先了解微服务 微服务架构介绍 微服务架构(Microservice Architecture)是一种架构概念,旨在通过 ...
- Spring Aop 组件概述
Spring Aop 概述 AOP(Aspect-Oriented Programming) 面向切面编程, 这种编程模型是在 OOP(Object-Oriented Programming) 的基础 ...
- Spring过滤器组件自动扫描
在这个Spring自动组件扫描的教程,您已经了解如何使Spring自动扫描您的组件.在这篇文章中,我们将展示如何使用组件过滤器自动扫描过程. 1.过滤组件 - 包含 参见下面的例子中使用Spring ...
- spring 组件扫描_避免不必要的Spring配置组件扫描
spring 组件扫描 我在堆栈溢出中遇到了一个有趣的问题. Brett Ryan有问题,Spring Security配置被初始化了两次. 当我查看他的代码时,我发现了问题所在. 让我展示显示代码. ...
- spring aop组件_安全性中的Spring AOP –通过方面控制UI组件的创建
spring aop组件 以下文章将显示在我参与的一个项目中,我们如何使用Spring的AOP来介绍一些与安全性相关的功能. 这样的概念是,为了使用户能够看到某些UI组件,他需要具有一定级别的安全特权 ...
- 避免不必要的Spring配置组件扫描
我在堆栈溢出中遇到了一个有趣的问题. Brett Ryan有问题,Spring Security配置被初始化了两次. 当我查看他的代码时,我发现了问题所在. 让我展示显示代码. 他有相当标准的Spri ...
- 分布式锁 动态代理 Java数据结构List,Set,Map,Spring执行流程,Spring MVC组件
这里对今日的内容进行总结: 分布式锁具备的条件: 具备的条件: 在分布式系统环境下,一个方法在同一时间只能被一个机器的一个线程执行. 高可用的获取锁与释放锁. 高性能的获取锁与释放锁. 具备可重入的特 ...
- spring boot组件_Spring Boot Framework的关键组件和内部
spring boot组件 In my previous post "Introduction to Spring Boot", we have discussed about S ...
- Spring 条件组件注解:`@Conditional` 与 `@ConditionalOnBean`
Spring 条件组件注解:@Conditional 与 @ConditionalOnBean 文章目录 Spring 条件组件注解:`@Conditional` 与 `@ConditionalOnB ...
最新文章
- 【NOIP2016】组合数问题
- linux 环境变量 export PATH和PATH有什么区别?
- Linux学习:文件属性函数
- CentOS7 安装NodeJS
- Codeforces Round #467 (Div. 1): B. Sleepy Game(BFS+有向图判环)
- |洛谷|动态规划|P2014 选课
- Django学习(二)
- Nask汇编编写操作系统,自制NaskCode开发环境
- 从毫无交集到走向融合,AI+区块链才是改变世界的黑科技!
- mysql中Mysql模糊查询like效率,以及更高效的写法和sql优化方法
- js获取屏幕高度、宽度
- websockets_Websockets在数据工程中鲜为人知的模式
- 什么是智能无损网络?
- 信息学奥赛一本通 1357:车厢调度(train)
- html5光线传感器,HTML5设备传感器总结
- float 精度探究
- 原生js做一个简单的仿幻灯片放映
- vr全景视频是如何拍摄的呢,商家为何要进行拍摄全景
- CS5801 HDMI转4K 4lane_DP/eDP方案
- 红外光谱曲线的基线调整
热门文章
- 华为云mysql怎么玩_初次尝试华为云
- Puzzle Game HihoCoder - 1634
- android 自定义透明progressdialog,在android中自定义progressdialog动态创建
- php callable closure,PHP 中`Closure`和`Callable`的区别以及在 Redis 订阅方法中的使用
- linux chroot绿色程序,关于 Linux 下的 chroot 的些许介绍
- 什么牌子蓝牙耳机最好?音质最好的真无线蓝牙耳机推荐
- Mysql存储过程示例以及说明
- django基础操作,命令
- L9110S电机驱动模块demo
- pandas使用教程:apply函数、聚合函数agg和transform