微服务

微服务 Spring Cloud

eureka 服务治理主键,服务注册与发现

CS架构

service:服务注册中心

client:客服端 提供者、消费者:均会向注册中心注册

 

可做集群,服务注册中心可将自己作为服务注册到其他服务注册中心

自我保护机制(默认开启):在一段时间没有接受到某个服务的心跳,就会将该服务提供者提供的从列表移除(实际:将注册信息保护起来,而不是移除)

 

 

Rebbon 服务调用,负载均衡

负载均衡:将用户请求平摊分配到多个服务器中,以达到扩展服务器带宽,增强数据处理能力,争强吞吐量,提高网络灵活性

策略:线性轮询、随机、轮询、过滤故障失效的,再选并发最小的

 

Feign 服务调用(停更)

不支持springMVC 注解

 

openFeign 声名式服务调用主键

增加了对SpringMVC注解的支持

超时控制:默认1S

提供了日志打印功能,可配置日志级别,了解请求细节

 

Histrix 服务熔断与降级

服务容错与保护组件

功能:服务熔断,降级、线程隔离、请求换成、合并等

保护线程安全,快速失效机制,提供降级方案,放置故障扩散。监控功能

熔断机制(闭合状态):当系统中某个服务

不可用或响应时间太长,为保护系统整体可用性,熔断器会暂时切断请求对该服务的调用(断开状态),并快速返回一个友好的错误响应,经历一段时间后,熔断器会再次检测该服务恢复正常否(半开状态),若恢复正常则恢复其调用链路。

故障监控:持续记录通过Histrix发起的请求执行信息,并以统计报表的形式展示给用户(每秒执行请求量,成功失败数量)

 

网关

一个搭建在客户端和微服务质检的服务,在网关中处理些非业务功能逻辑的(如:权限验证,监控,缓存,请求路由等)

安全、控制、过滤、缓存、计费,监控等

zuul 网关(路由,访问,过滤)

 

gateway 网关

路由转发,断言,过滤器

 

spring cloud config 配置中心

可将微服务的配置文件集中存储在外部的存储仓库或系统中,对配置统一管理

在客户端引入Spring Cloud actuator 监控组件来监控配置变化(当配置发生变化时,服务不需要重启即可感知配置变化,并自动获取应用最新配置)

 

config+bus 实现配置动态刷新

spring cloud bus 事件和消息总线

消息总线:通过轻量级的消息代理将整个服务架构中的各个服务架构中的各个服务连接起来,实现广播状态更改,事件推送功能)

 

Nacos 服务注册与配置中心

基于DNS和RPC的服务发现

对服务的实时健康检查,能够阻止请求发送到不健康主机或服务实例上

 

Sentinel 高可用流量控制组件

以流量为切入点,从流量控制,熔断降级,系统负载保护等多个维度帮助用户保护服务稳定性

提供实时监控功能,用户可在控制中台中看到接入应用的但机器的秒级数据,集群的绘制情况

提供了开源框架及库(SpringCloud ,Apache dubbo,gRPC,Quarkurs)

 

Seata 分布式事务组件

核心组件:

TC:事务协调器 事务协调者,主要负责全局事务好分支事务的状态,驱动事务提交或回滚

TM:事务管理器 事务的发起者,负责定义全局事务范围,根据TC维护的全局事务或分支事务状态,做出开始事务、提交事务,回滚事务的决议

RM:资源管理器 负责管理分支事务的资源,向TC注册分支事务,汇报分支事务状态,驱动分支事务状态,驱动分支事务的提交或回滚

提供事务模式:AT,TCC,SAGA,XA

 

支持多种服务注册中心

 

Stream 消息中间件

集成了kafka,rabittMq等消息中间件

 

Sleuth 分布式链路跟踪

posted @ 2023-05-25 10:40  usersuansuan  阅读(36)  评论(0)    收藏  举报