ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【2023】最新基于Spring Cloud的微服务架构分析 [打印本页]

作者: 伤心客    时间: 2025-1-26 03:27
标题: 【2023】最新基于Spring Cloud的微服务架构分析
Spring Cloud是一个相对比较新的微服务框架,2016年才推出1.0的release版本. 虽然Spring Cloud时间最短, 但是相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系统办理方案。
Spring Cloud是一系列框架的有序聚集。它利用Spring Boot的开辟便利性奇妙地简化了分布式系统基础办法的开辟,如服务发现注册、设置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开辟风格做到一键启动和部署。
Spring并没有重复制造轮子,它只是将目前各家公司(重要是 Netflix )开辟的比较成熟、经得起现实磨练的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的设置和实现原理,最终给开辟者留出了一套简单易懂、易部署和易维护的分布式系统开辟工具包。

Spring Cloud 的核心组件

1. Eureka(注册中心)

Eureka 是 Spring Cloud 微服务架构中的注册中心,专门负责服务的注册与发现,内里有一个注册表,保存了各个服务器的 呆板和端口。

Eureka Server 的高可用现实上就是将自己作为服务向其他注册中心注册自己,这样就可以形成一组互相注册的服务注册中心,以实现服务清单的互雷同步,达到高可用效果。
2. Zuul(服务网关)

Zuul网关负责转发请求给对应的服务,这个组件是负责网络路由的。
Spring Cloud Zuul通过与Spring Cloud Eureka进行整合,将自身注册为Eureka服务管理下的应用,同时从Eureka中获得了所有其他微服务的实例信息
对于路由规则的维护,Zuul默认会将通过以服务名作为ContextPath的方式来创建路由映射
Zuul提供了一套过滤器机制,可以支持在API网关无附上进行统一调用来对微服务接口做前置过滤,已实现对微服务接口的拦截和校验
3. Ribbon(负载均衡)

提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。
Ribbon是一个基于HTTP和TCP的客户端负载均衡器,它可以在通过客户端中设置的ribbonServerList服务端列表去轮询访问以达到服务均衡的作用。
当Ribbon和Eureka团结使用时,Ribbon的服务实例清单RibbonServerList会被
DiscoveryEnabledNIWSServerList重写,扩展成从Eureka注册中心中获取服务端列表。同时它也会用NIWSDiscoveryPing来取代IPing,它将职责委托给Eureka来去定服务端是否已经启动
在客户端负载均衡中,所有客户端节点都维护着自己要访问的服务端清单,而这些服务端的清单来自于服务注册中心(好比Eureka)。在客户端负载均衡中也需要心跳去维护服务端清单的康健性,只是这个步骤需要与服务注册中心配合完成。
通过Spring Cloud Ribbon的封装,我们在微服务架构中使用客户端负载均衡调用只需要如下两步:

4. Hystrix(熔断掩护器)

熔断器,容错管理工具,旨在通过熔断机制控礼服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
提供线程池不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务器雪崩的问题。
在微服务架构中,存在着那么多的服务单元,若一个单元出现故障,就很容易因依赖关系而引发故障的蔓延,最终导致整个系统的瘫痪,这样的架构相较传统架构更加不稳固。为了办理这样的问题,产生了断路器等一系列的服务掩护机制
在分布式架构中,当某个服务单元发生故障之后,通过断路器的故障监控,向调用方返回一个错误响应,而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不释放,避免了故障在分布式系统中的蔓延
Hystrix具备服务降级、服务熔断、线程和信号隔离、请求缓存、请求合并以及服务监控等强大功能
Hystrix使用舱壁模式实现线程池的隔离,它会为每一个依赖服务创建一个独立的线程池,这样就算某个依赖服务出现延迟过高的情况,也只是对该依赖服务的调用产生影响,而不会拖慢其他的依赖服务
5. Feign(REST转换器)

基于动态署理机制,根据注解和选择的呆板,拼接请求url地址,发起请求。Feign的关键机制是使用了动态署理


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4