Spring Cloud 是一些列框架的集合,基于 Spring Boot,是实现微服务的一整套解决方案。
Spring Cloud 为微服务中涉及的配置管理、服务治理、负载均衡、断路器、消息总线、数据监控等提供了一种简单的开发方式,降低了构建大型系统的要求,能以较低的成本搭建出一套高效、分布式、容错的平台。
什么是微服务
微服务是系统架构的一种设计风格,主旨是将原本独立的系统拆分为多个小型服务。
每个服务维护着自身的数据存储、业务开发、自动化测试案例及部署机制,能独立部署、独立维护、独立扩展,服务与服务间通过诸如RESTful API的方式互相调用。
为什么要采用微服务
相比于单体应用,微服务具有如下优势:
- 独立开发
- 独立部署
- 独立伸缩性
- 可重用
- 更好的容错
- 技术选型灵活
微服务面临的挑战
- 开发复杂性增加(可能会依赖于其他服务)
- 运维复杂性增加
- 对技术的要求高
- 现实界限不清晰导致服务拆分困难
- 分布式事务
- 性能(服务间通过 HTTP 协议通信)
为什么要选择 Spring Cloud
- 产出于 Spring 大家族
- 基于 Spring Boot,简化开发
- 提供一站式的解决方案,覆盖面广
- 社区活跃度很高,教程丰富