Spring Cloud常用组件及作用?
Eureka:注册中心
Nacos:注册中心、配置中心
Consul:注册中心、配置中心
Spring Cloud Config:配置中心
Feign/OpenFeign:RPC调用
Kong:服务网关
Zuul:服务网关
Spring Cloud Gateway:服务网关
Ribbon:负载均衡
Spring Cloud Sleuth:链路追踪
Zipkin:链路追踪
Seata:分布式事务
Dubbo:RPC调用
Sentinel:服务熔断
Hystrix:服务熔断
Spring Cloud和Dubbo的区别?
Spring Cloud是一个微服务框架,提供了微服务领域中的很多功能组件,Dubbo一开始是一个RPC调用框架,核心是解决服务间调用的问题;Spring Cloud是一个大而全的框架,Dubbo更侧重于服务调用,所以Dubbo所提供的功能没有Spring Cloud全面,但是Dubbo的服务调动性能比Spring Cloud高。
服务雪崩:服务A调用服务B,服务B调用服务C,由于服务A可以抗住并发请求,但服务C请求堆积,导致服务B请求堆积,进而造成服务A不可用,这就是服务雪崩。
服务限流:在高并发请求下,为了保护系统,可以对访问服务的请求进行数量上的限制,从而防止系统不被大量请求压垮。
服务熔断:当服务A调用的某个服务B不可用时,上游服务A为了保证自己不受影响,从而不再调用服务B,直接返回一个结果,减轻服务A和服务B的压力,直到服务B恢复。
服务限流和服务熔断:
相同点:都是为了防止系统崩溃,让用户体验到某些功能暂时不可用
不同点:熔断是下游服务故障触发的,降级是为了降低系统负载