1. Spring Cloud
Spring Cloud是基于Spring Boot的一套微服务框架,它提供了一系列的工具和组件,用于快速构建分布式系统中的常见模式,如服务发现、配置管理、负载均衡、断路器、路由、微代理、事件总线等。
Spring Cloud的主要组件包括:
- Eureka:服务注册和发现组件
- Ribbon:客户端负载均衡组件
- Feign:声明式REST客户端组件
- Hystrix:断路器组件
- Zuul:API网关组件
- Config:分布式配置中心组件
- Bus:消息总线组件
2. Spring Cloud Alibaba
Spring Cloud Alibaba是Spring Cloud的一个子项目,它是由Spring Cloud和阿里巴巴共同开发的一套微服务框架,旨在为开发者提供更多的选择和更好的开发体验。
Spring Cloud Alibaba的主要组件包括:
- Nacos:服务注册和发现、配置管理组件
- Sentinel:流量控制、熔断降级组件
- Dubbo:RPC框架
- RocketMQ:消息队列组件
3. Nacos
Nacos是一款开源的服务注册和发现、配置管理中心,它提供了一系列的REST API和Web界面,用于管理和监控服务实例、配置信息和命名空间。
Nacos的主要特点包括:
- 支持多种注册中心协议,如Eureka、Consul、Zookeeper等
- 支持多种服务发现方式,如DNS、HTTP、gRPC等
- 支持动态配置管理,支持配置推送和监听
- 支持服务健康检查和流量管理
- 支持多租户和命名空间
4. Sentinel
Sentinel是一款开源的流量控制、熔断降级框架,它提供了一系列的API和Web界面,用于实时监控和管理应用程序的流量和性能。
Sentinel的主要特点包括:
- 支持多种流量控制策略,如QPS、线程数、并发数等
- 支持多种熔断降级策略,如异常比例、异常数、平均响应时间等
- 支持实时监控和告警,支持多种告警方式,如邮件、短信、微信等
- 支持多租户和命名空间
5. Dubbo
Dubbo是一款高性能、轻量级的RPC框架,它提供了一系列的API和注解,用于定义和实现服务接口、服务提供者和服务消费者。
Dubbo的主要特点包括:
- 支持多种协议,如Dubbo、HTTP、REST等
- 支持多种序列化方式,如Java、JSON、Hessian等
- 支持多种负载均衡策略,如随机、轮询、一致性哈希等
- 支持多种集群容错策略,如Failover、Failfast、Failsafe等
- 支持多种注册中心,如Zookeeper、Redis、Multicast等
6. RocketMQ
RocketMQ是一款开源的分布式消息队列系统,它提供了一系列的API和Web界面,用于实现异步消息传输和解耦。
RocketMQ的主要特点包括:
- 支持多种消息模式,如点对点、发布订阅等
- 支持多种消息协议,如TCP、HTTP、HTTPS等
- 支持多种消息存储方式,如内存、文件、数据库等
- 支持多种消息过滤方式,如Tag、SQL等
- 支持多种消息事务方式,如本地事务、分布式事务等