- 服务注册与发现(Eureka/Nacos):Eureka是一个用于实现服务注册与发现的组件,提供了服务注册中心来管理服务实例的注册和发现,使得服务之间可以方便地进行通信和调用。我们项目用的Nacos。
- 客户端负载均衡(Ribbon/ Spring Cloud LoadBalancer):是一个用于在客户端实现负载均衡的组件,它可以根据一定的策略选择合适的服务实例进行负载均衡,提高系统的可用性和性能。早期版本是Ribbon,Ribbon停更后改为 Spring Cloud LoadBalancer。
- 服务调用(Feign/OpenFeign):Feign是一个声明式的服务调用组件,它基于注解和动态代理,可以让开发者使用简单的接口定义服务调用,而无需关注底层的具体实现,随着Netflix公司不再维护Feign,Spring Cloud在Feign基础上新建了一个开源项目OpenFeign。
- 熔断器(Hystrix/Sentinel):Hystrix是一个用于实现服务容错和熔断的组件,它可以保护系统免受服务故障的影响,通过实现服务降级、熔断和隔离等机制,提高系统的稳定性和可靠性。我们项目用的阿里的Sentinel。
- 网关(Gateway):Zuul或Spring Cloud Gateway是用于构建统一的API网关的组件,它可以实现请求的路由、过滤和转发等功能,提供了对外的统一的接入点,并可以对请求进行安全验证、限流和监控等