微服务和SpringCloud
文章目录
- 微服务和SpringCloud
- 1.什么是微服务
- 2.SpringCloud
- 3. 微服务 VS SpringCloud
- 4. SpringCloud 组件
- 5.参考文档
- 6.版本要求
1.什么是微服务
微服务是将一个大型的、单一的应用程序拆分成多个小型服务,每个服务实现特定的业务功能,并且可以通过网络通信与其他服务通讯
微服务的优点是开发更灵活(不同的微服务可以使用不同的编程语言)、更容易维护、更好的伸缩性和可用性更高,以及更好的团队协作
2.SpringCloud
Spring Cloud是一个用于构建分布式系统和微服务架构的开发工具集合。它基于Spring Frameword , 为开发人员提供了一套简化分布式系统开发的解决方案。
Spring Cloud提供了一系列的组件和库,用于实现分布式系统的常见功能和模式,包括服务的注册与发现、负载均衡、断路器、网关、配置管理等等。它简化了在构建分布式系统时所需的开发工作,并提供了一致而可靠的开发模式。
通过使用Spring Cloud,开发人员可以快速构建基于微服务架构的应用程序,并将各个微服务协调管理起来,这样,每个微服务可以根据自身的开发需求独立开发、部署和扩展,通过服务间的调用和协作来实现整体的功能。
3. 微服务 VS SpringCloud
微服务是一种架构思想,而SpringCloud是对于微服务实现的一种规范。
- 思想是指解决问题或完成任务的方法、策略或思考方式。
- 规范是一组详细的规则、指南或者标准,用于确保系统、组件或功能在实际开发中按照某个特定的方法或标准进行实现。
4. SpringCloud 组件
SpringCloud核心组件可分为第一代组件和第二代组件
微服务功能 | 第一代(Spring Cloud Netflix ,SCN) | 第二代(Spring Cloud Alibaba,SCA) |
---|---|---|
注册中心 | Netflix Eureka | Nacos |
客户端负载均衡 | Netflix Ribbon | Spring Cloud Loadbalance |
熔断器 | Netflix Hystrix | Sentinel |
网关 | Netflix Zuul | Spring Cloud Gateway |
配置中心 | Spring Cloud Config | Nacos |
服务调用 | Netflix Fegin | Spring Cloud OpenFeign |
链路追踪 | Spring Cloud Sleuth/Zipkin | Skywalking |
分布式事务 | Seata |
这里我们介绍第二代SpringCloud组件
以下是阿里巴巴微服务解决方案全景图:
5.参考文档
Spring Cloud Alibaba官方参考文档
Spring Cloud Alibaba github官方参考文档
Spring官方参考文档
6.版本要求
目前Spring Cloud Alibaba 的最新版本是2022.0.0.0 对Springboot的最低版本要求是3.0.x,因此Java最低版本是JDK17
对于其他版本要求参考 Spring Cloud Alibaba 版本说明
对于各个组件的说明,将在后续文章中详细介绍。
不定时更新,看完留一个三连吧,如有问题,欢迎指出,您的支持是我创作的最大动力!