这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战编程
Spring Cloud基于Spring Boot,是微服务架构思想的一个具体实现,它为开发人员提供了一些快速构建分布式系统中常见模式的工具,如配置管理、服务发现、熔断器、智能路由、微代理、控制总线等。Spring Cloud的底层基于Spring Boot框架,它不重复造轮子,而是将一些第三方实现的微服务应用模块集成。
Spring Cloud是一系列有序框架的集合,其中经常使用的子项目以下:服务器
经过SVN、Git等仓库使配置集中化存储,配置资源能够直接映射到Spring Enviroment中。markdown
与Netflix开发的各类组件集成,包括服务注册与发现、熔断器、服务网关、Rest客户端及负载均衡器等。架构
将服务、服务实例与分布式消息连接在一块儿的事件总线;用于在进群中传播状态变化;和Spring Cloud Config配合,能够实现配置的动态刷新。负载均衡
进行Spring Cloud中的服务注册与发现配置管理。框架
为Zuul代理中的负载平衡OAuth2 Rest客户端和身份验证中继提供支持。分布式
用于Spring Cloud 应用程序的分布式跟踪,兼容Zipkin、Htrace和基于日志(例如ELK)的跟踪。函数
一种可以用于如今进行时并能够组合微服务应用程序的云本地编排服务。易于使用的DSL、拖放式GUI和REST-API共同简化了基于微服务的数据管道的总体编排。微服务
轻量级事件驱动的微服务框架,可以快速构建可链接到外部系统的应用程序,用于在Spring Boot应用程序之间使用Apache Kafka或RabbitMQ发送和接收消息。工具
一种短暂的微服务框架,用于快速构建执行有限数据处理的应用程序,它用于向Spring Boot应用程序中添加功能性和非功能性的简单声明。
一款基于project Reactor的智能可编程路由器。因为Zuul2.0版本的开发常常跳票,因此Spring官方开发了路由网关以支持Spring Boot2.0及新版Spring Cloud。
基于Netflix Feign,是一个声明式的HTTP客户端,能够轻松实现服务间接口调用。
经过函数促进业务逻辑的实现,它支持无服务器商之间的统一编程模型以及独立运行(本地或PaaS)。
以上项目可根据实际状况选择一些适合的组件集成到应用中。
优势
缺点
大势所趋。