SpringCloud分布式开发五大组件详解
SpringCloud分布式开发五大组件详解
https://blog.csdn.net/weixin_40910372/article/details/89466955
服务发现——Netflix Eureka
客服端负载均衡——Netflix Ribbon
断路器——Netflix Hystrix
服务网关——Netflix Zuul
分布式配置——Spring Cloud Config
Eureka
一个RESTful服务,用来定位运行在AWS地区(Region)中的中间层服务。由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务器用作服务注册服务器。Eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。Netflix在其生产环境中使用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。
Ribbon
Ribbon,主要提供客户侧的软件负载均衡算法。
Ribbon客户端组件提供一系列完善的配置选项,比如连接超时、重试、重试算法等。Ribbon内置可插拔、可定制的负载均衡组件。下面是用到的一些负载均衡策略:
简单轮询负载均衡
加权响应时间负载均衡
区域感知轮询负载均衡
随机负载均衡
Ribbon中还包括以下功能:
易于与服务发现组件(比如Netflix的Eureka)集成
使用Archaius完成运行时配置
使用JMX暴露运维指标,使用Servo发布
多种可插拔的序列化选择
异步和批处理操作(即将推出)
自动SLA框架(即将推出)
系统管理/指标控制台(即将推出)
Hystrix
断路器可以防止一个应用程序多次试图执行一个操作,即很可能失败,允许它继续而不等待故障恢复或者浪费 CPU 周期,而它确定该故障是持久的。断路器模式也使应用程序能够检测故障是否已经解决。如果问题似乎已经得到纠正,应用程序可以尝试调用操作。
断路器增加了稳定性和灵活性,以一个系统,提供稳定性,而系统从故障中恢复,并尽量减少此故障的对性能的影响。它可以帮助快速地拒绝对一个操作,即很可能失败,而不是等待操作超时(或者不返回)的请求,以保持系统的响应时间。如果断路器提高每次改变状态的时间的事件,该信息可以被用来监测由断路器保护系统的部件的健康状况,或以提醒管理员当断路器跳闸,以在打开状态。
流程图
Zuul
类似nginx,反向代理的功能,不过netflix自己增加了一些配合其他组件的特性。
Spring Cloud Config
这个还是静态的,得配合Spring Cloud Bus实现动态的配置更新。
参考
The Netflix Stack Using Spring Boot - Part 1: Eureka
Netflix开源他们的另一个架构——Eureka
Eureka 的 Application Client 客户端的运行示例
Eureka service 客户端的注册以及运行示例
Linux 下 Eureka 服务器的部署
Spring Cloud源码解析:一个注解加载Eureka client
Spring-cloud & Netflix 源码解析:Eureka client 到Server的调用过程
Spring-cloud & Netflix 源码解析:Eureka client 注册过程
Spring-cloud & Netflix 源码解析:Eureka 服务注册发现接口
Netflix发布云中间层服务开源项目Ribbon
Ribbon 和 Eureka 的集成
CircuitBreaker
Circuit Breaker Pattern(
必读
)断路器模式
Netflix Zuul vs Nginx performance
SpringCloud分布式开发五大组件详解相关推荐
- SpringCloud分布式开发五大神兽(转)
SpringCloud分布式开发五大神兽 服务发现--Netflix Eureka 客服端负载均衡--Netflix Ribbon 断路器--Netflix Hystrix 服务网关--Netflix ...
- SpringCloud分布式开发五大神兽(一)
原文:https://segmentfault.com/a/1190000005029218 SpringCloud分布式开发五大神兽 服务发现--Netflix Eureka 客服端负载均衡--Ne ...
- Android应用开发—Intent组件详解
转载自:Android中Intent组件详解 Intent是不同组件之间相互通讯的纽带,封装了不同组件之间通讯的条件. Intent本身是定义为一个类别(Class),一个Intent对象表达一个目的 ...
- SpringCloud五大组件详解
Eureka Ribbon Hystrix Zuul config
- SpringCloud分布式开发五大神兽
服务发现--Netflix Eureka 客服端负载均衡--Netflix Ribbon 断路器--Netflix Hystrix 服务网关--Netflix Zuul 分布式配置--Spring C ...
- 微服务 分布式配置中心Apollo详解
微服务 分布式配置中心Apollo详解 1. 配置中心概述 1.1 配置中心简介 1.2 配置中心特点 1.3 配置中心对比 2. Apollo概述 2.1 Apollo简介 2.2 Apollo特点 ...
- Android笔记——四大组件详解与总结
android四大组件分别为activity.service.content provider.broadcast receiver. -------------------------------- ...
- ReactNative ViewPageAndroid组件详解
源码传送门 在我们开发Android的时候,ViewPage这个控件的使用频率还是很高的,最简单的就是制作引导页,应用程序的主界面等,在ReactNative开发中实现该功能的组件是ViewPageA ...
- zookeeper 分布式过程协同技术详解.pdf_阿里大牛耗时18个月整理这份ZooKeeper分布式详解文档...
前言 摩尔定律揭示了集成电路每18个月计算性能就会增加一倍.随着信息的飞速膨胀,很多应用都无法依赖单个服务器的性能升级来处理如此庞大的数据量,分布式系统和应用越来越受到人们的青睐.分布式系统和应用不仅 ...
最新文章
- 企业云桌面-02-安装第2台域控制器和第2台DNS服务器-012-DC02
- ca开头的车是什么牌子_动车与高铁的区别是什么?很少人知道!让我来告诉你吧...
- 理解SQL Server中索引的概念,原理以及其他
- 【Tools】CSDN-markdown编辑器使用说明
- [19/04/23-星期二] GOF23_创建型模式(工厂模式、抽象工厂模式)
- 为什么我们要使用min-height和max-height样式属性?
- JS CKEditor使用setData后绑定click事件
- android tab 选中变色,Android 底部导航栏的Tab选中不变色?
- Android应用程序开发(第三版)-课后习题解答
- 用the_excerpt处理中文文章字数限制的方法
- eclipse osgi_Eclipse通过提议的OSGi容器Kura支持M2M产品组合
- 微信小程序四种json配置文件详解
- Android 如何优雅的实现控件计时功能
- 阿里云短信平台简单使用
- 专科毕业学习python有前途吗_专科生学IT有前途吗?
- 洞悉物联网发展1000问之什么物联网技术会颠覆创新呢?
- next cloud_Google Cloud Next '17主题演讲的5个重要要点
- Python 随机双色球,开奖,记录
- 基于Uniapp开发的MIPCMS小程序
- 各种药皂的使用和主注意事项