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分布式开发五大组件详解相关推荐

  1. SpringCloud分布式开发五大神兽(转)

    SpringCloud分布式开发五大神兽 服务发现--Netflix Eureka 客服端负载均衡--Netflix Ribbon 断路器--Netflix Hystrix 服务网关--Netflix ...

  2. SpringCloud分布式开发五大神兽(一)

    原文:https://segmentfault.com/a/1190000005029218 SpringCloud分布式开发五大神兽 服务发现--Netflix Eureka 客服端负载均衡--Ne ...

  3. Android应用开发—Intent组件详解

    转载自:Android中Intent组件详解 Intent是不同组件之间相互通讯的纽带,封装了不同组件之间通讯的条件. Intent本身是定义为一个类别(Class),一个Intent对象表达一个目的 ...

  4. SpringCloud五大组件详解

    Eureka Ribbon Hystrix Zuul config

  5. SpringCloud分布式开发五大神兽

    服务发现--Netflix Eureka 客服端负载均衡--Netflix Ribbon 断路器--Netflix Hystrix 服务网关--Netflix Zuul 分布式配置--Spring C ...

  6. 微服务 分布式配置中心Apollo详解

    微服务 分布式配置中心Apollo详解 1. 配置中心概述 1.1 配置中心简介 1.2 配置中心特点 1.3 配置中心对比 2. Apollo概述 2.1 Apollo简介 2.2 Apollo特点 ...

  7. Android笔记——四大组件详解与总结

    android四大组件分别为activity.service.content provider.broadcast receiver. -------------------------------- ...

  8. ReactNative ViewPageAndroid组件详解

    源码传送门 在我们开发Android的时候,ViewPage这个控件的使用频率还是很高的,最简单的就是制作引导页,应用程序的主界面等,在ReactNative开发中实现该功能的组件是ViewPageA ...

  9. zookeeper 分布式过程协同技术详解.pdf_阿里大牛耗时18个月整理这份ZooKeeper分布式详解文档...

    前言 摩尔定律揭示了集成电路每18个月计算性能就会增加一倍.随着信息的飞速膨胀,很多应用都无法依赖单个服务器的性能升级来处理如此庞大的数据量,分布式系统和应用越来越受到人们的青睐.分布式系统和应用不仅 ...

最新文章

  1. 企业云桌面-02-安装第2台域控制器和第2台DNS服务器-012-DC02
  2. ca开头的车是什么牌子_动车与高铁的区别是什么?很少人知道!让我来告诉你吧...
  3. 理解SQL Server中索引的概念,原理以及其他
  4. 【Tools】CSDN-markdown编辑器使用说明
  5. [19/04/23-星期二] GOF23_创建型模式(工厂模式、抽象工厂模式)
  6. 为什么我们要使用min-height和max-height样式属性?
  7. JS CKEditor使用setData后绑定click事件
  8. android tab 选中变色,Android 底部导航栏的Tab选中不变色?
  9. Android应用程序开发(第三版)-课后习题解答
  10. 用the_excerpt处理中文文章字数限制的方法
  11. eclipse osgi_Eclipse通过提议的OSGi容器Kura支持M2M产品组合
  12. 微信小程序四种json配置文件详解
  13. Android 如何优雅的实现控件计时功能
  14. 阿里云短信平台简单使用
  15. 专科毕业学习python有前途吗_专科生学IT有前途吗?
  16. 洞悉物联网发展1000问之什么物联网技术会颠覆创新呢?
  17. next cloud_Google Cloud Next '17主题演讲的5个重要要点
  18. Python 随机双色球,开奖,记录
  19. 基于Uniapp开发的MIPCMS小程序
  20. 各种药皂的使用和主注意事项

热门文章

  1. 全向轮机器人左向直线运动分析
  2. java 单链表是否有环_数据结构与算法随笔之链表-链表是否有环(二)
  3. uniapp前端处理接口返回一整个html格式
  4. 绘制Python代码的UML图
  5. 计算机英语国家线,2018考研英语二国家线是多少
  6. 常见的javascript日期和时间戳互相转化
  7. 虚拟机+centOS挂载ISO步骤
  8. 亚信安全中标南方电网网络架构优化调整项目 智能联动抑制未知威胁
  9. 智慧城市近两年来受到国家高度重视
  10. C#笔记12 自定义集合和常用集合