SpringCloud都有哪些组件?

2 个回答

  • 路飞
    有些东西不需要答案,态度就是答案。
    Spring Cloud Config:配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。 Spring Cloud Bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。 Eureka:云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。 Hystriz:熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。 Zull:Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。 Archaius:配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。 Consul:封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。 Spring Cloud for Cloud Foundry:通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台。 Spring Cloud Sleth:日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。 Spring Cloud Data Flow:大数据操作工具,作为Spring XD的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式。 Spring Cloud Security:基于spring security的安全工具包,为你的应用程序添加安全控制。 Spring Cloud Zookeeper:操作Zookeeper的工具包,用于使用zookeeper方式的服务发现和配置管理。 Spring Cloud Stream:数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。 Spring Cloud CLI:基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。 Ribbon:提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。 Turbine:Turbine是聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况。 Feign:Feign是一种声明式、模板化的HTTP客户端。 Spring Cloud Task:提供云端计划任务管理、任务调度。 Spring Cloud Connectors:便于云端应用程序在各种PaaS平台连接到后端,如:数据库和消息代理服务。 Spring Cloud Cluster:提供Leadership选举,如:Zookeeper, Redis, Hazelcast, Consul等常见状态模式的抽象和实现。 Spring Cloud Starters:Spring Boot式的启动项目,为Spring Cloud提供开箱即用的依赖管理。
    发布于 2022-03-06 00:19 •IP属地 广西
    举报
    评论
    收藏

  • 美啦美啦美啦
    不要在赚钱的路上把健康丢了,要在健康的路上顺便把钱赚了。
    Spring Cloud由众多子项目组成,如Spring Cloud Config、Spring Cloud Netflix、Spring Cloud Consul 等,提供了搭建分布式系统及微服务常用的工具,如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性token、全局锁、选主、分布式会话和集群状态等,满足了构建微服务所需的所有解决方案。 服务发现——Netflix Eureka 客服端负载均衡——Netflix Ribbon 断路器——Netflix Hystrix 服务网关——Netflix Zuul 分布式配置——Spring Cloud Config ### Eureka ![image.png](https://images.codewd.com/a791e29187ae12a0cbcbdfa49d97360c.png) 一个RESTful服务,用来定位运行在AWS地区(Region)中的中间层服务。由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务器用作服务注册服务器。Eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。Netflix在其生产环境中使用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。 ### Ribbon Ribbon,主要提供客户侧的软件负载均衡算法。 ![image.png](https://images.codewd.com/86159f0b0bf2481130776526012bc46c.png) Ribbon客户端组件提供一系列完善的配置选项,比如连接超时、重试、重试算法等。Ribbon内置可插拔、可定制的负载均衡组件。下面是用到的一些负载均衡策略: 1. 简单轮询负载均衡 2. 加权响应时间负载均衡 3. 区域感知轮询负载均衡 4. 随机负载均衡 Ribbon中还包括以下功能: 1.易于与服务发现组件(比如Netflix的Eureka)集成 2.使用Archaius完成运行时配置 3.使用JMX暴露运维指标,使用Servo发布 4.多种可插拔的序列化选择 5.异步和批处理操作(即将推出) 6.自动SLA框架(即将推出) 7.系统管理/指标控制台(即将推出) ### Hystrix ![image.png](https://images.codewd.com/6ee709384efe44170bca87ef78e7db26.png) 断路器可以防止一个应用程序多次试图执行一个操作,即很可能失败,允许它继续而不等待故障恢复或者浪费 CPU 周期,而它确定该故障是持久的。断路器模式也使应用程序能够检测故障是否已经解决。如果问题似乎已经得到纠正​​,应用程序可以尝试调用操作。 ![image.png](https://images.codewd.com/74ec2b4323e4619cd333a5aed498b090.png) 断路器增加了稳定性和灵活性,以一个系统,提供稳定性,而系统从故障中恢复,并尽量减少此故障的对性能的影响。它可以帮助快速地拒绝对一个操作,即很可能失败,而不是等待操作超时(或者不返回)的请求,以保持系统的响应时间。如果断路器提高每次改变状态的时间的事件,该信息可以被用来监测由断路器保护系统的部件的健康状况,或以提醒管理员当断路器跳闸,以在打开状态。 ![image.png](https://images.codewd.com/fce75c32da0bdef130052c003e2fc73e.png) 流程图 ![image.png](https://images.codewd.com/6e07f2af57e42f593e963c5409eef578.png) ### Zuul ![image.png](https://images.codewd.com/0c508e95089de66c3ee4853f0ee48cf8.png) 类似nginx,反向代理的功能,不过netflix自己增加了一些配合其他组件的特性。 ### Spring Cloud Config ![image.png](https://images.codewd.com/76eeff151e9e56795ebd0de99a0bccd3.png) 这个还是静态的,得配合Spring Cloud Bus实现动态的配置更新。
    发布于 2022-03-02 23:50 •IP属地 湖南
    举报
    评论
    收藏