SpringCould Netflix常用组件及使用场景

目录

服务的发现 —— Netflix Eureka

EureKa-service 

EureKa-client

服务的调用 ——Netflix Feign

熔断器 —— Netflix Hystrix

服务网关 —— Netflix Zuul

分布式配置 —— Spring Cloud Config

消息总线 —— Spring Cloud Bus

Spring Cloud Seata


SpringCloud 现有两种版本,一是Netflix, 二是alibaba的。
Netflix的对各个组件已经停止更新,建议后续往alibaba去学习。

梳理下Netflix的各个组件和使用场景

服务的发现 —— Netflix Eureka

EureKa-service 

  • 功能:服务注册,提供注册表,同步状态
  • 机制:心跳机制,自我保护机制

EureKa-client

缓存访问,负载均衡

https://blog.csdn.net/qq_37203082/article/details/112796382

服务的调用 ——Netflix Feign

用于服务之间的通信,通常SpringCloud有两种通信方式

  • restTemplate+Ribbon 
  • feign

Feign使用方法:在定义抽象方法的接口中使用@FeignClient声明注解

熔断器 —— Netflix Hystrix

在上面的Feign已经集成了Hystrix

使用方法:在配置文件手动配置 feign.hystrix.enabled=true、

功能:

  • 服务降级
  • 服务熔断
  • 服务限流
  • 接近实时的监控

https://blog.csdn.net/qq_41049126/article/details/112882402

服务网关 —— Netflix Zuul

  • 认证和安全 - 对每一个resource进行身份认证
  • 追踪和监控 - 实时观察后端微服务的TPS、响应时间,失败数量等准确的信息
  • 日志 - 记录所有请求的访问日志数据,可以为日志分析和查询提供统一支持
  • 动态路由 - 动态的将request路由到后端的服务上去
  • 压力测试 - 逐渐的增加访问集群的压力,来测试集群的性能
  • 限流 - allocating capacity for each type of request and dropping requests that go over the limit
  • 静态响应 - 直接在网关返回一些响应,而不是通过内部的服务返回响应

PS:Zuul和Gateway的区别 https://blog.csdn.net/ningjiebing/article/details/90603181

两者均是web网关,处理的是http请求
gateway对比zuul多依赖了spring-webflux,在spring的支持下,功能更强大,内部实现了限流、负载均衡等,扩展性也更强,但同时也限制了仅适合于Spring Cloud套件,而zuul则可以扩展至其他微服务框架中,其内部没有实现限流、负载均衡等
gateway很好的支持异步,而zuul仅支持同步,那么理论上gateway则更适合于提高系统吞吐量(但不一定能有更好的性能),最终性能还需要通过严密的压测来决定
从框架设计的角度看,gateway具有更好的扩展性,并且其已经发布了2.0.0的RELESE版本,稳定性也是非常好的
编码上看,zuul更加简洁易懂,注释规范清晰,而gateway作为Spring家族的一份子,竟然几乎不注释…
总的来说,在微服务架构,如果使用了Spring Cloud生态的基础组件,则Spring Cloud Gateway相比而言更加具备优势,单从流式编程+支持异步上就足以让开发者选择它了

分布式配置 —— Spring Cloud Config

配置中心,配置文件方式分两种,本地和Git读取

https://xuwujing.blog.csdn.net/article/details/88578076

消息总线 —— Spring Cloud Bus

用于刷新同步其他服务配置

https://blog.csdn.net/qq_27828675/article/details/83505630

Spring Cloud Seata

用于分布式的事务的中间件,由阿里推出。常用At模式,需要创建一个UNDO_LOG 表记录节点和数据回滚操作

猜你喜欢

转载自blog.csdn.net/qq_37203082/article/details/113311989