1 什么是微服务/h1>
微服务是一种现代化的软件方法,通过该方法,应用代码以小巧,易于管理的方式交付,彼此独立。
微服务为构建小型,独立且可运行的应用程序带来极大的灵活性和弹性。
单体架构
微服务架构
2 为什么要建立微服务/h1>
微服务的小规模和相对隔离性可以带来许多其他好处。
例如更容易维护,提高生产率,更大的容错能力,更好的业务调整等等。
3 Spring Cloud 微服务
Spring
Spring已成为构建基于Java的应用程序的事实上的开发框架。
在其核心,Spring是基于依赖注入的概念。
Spring Boot
尽管Spring Boot包含Spring的核心功能,但它剥离了Spring中的许多“企业”功能,而是提供了一个针对基于Java的,面向REST的微服务的框架。
Spring Boot的许多专用功能使在大规模生产中轻松构建和运行微服务变得容易。
Spring Cloud 微服务
Spring Cloud可以帮助进行服务发现,负载平衡,断路,分布式跟踪和监视。它甚至可以充当API 关。
没有Spring Cloud,任何微服务架构都是不完整的。
Spring Cloud 特征
Spring Cloud专注于为典型的用例和可扩展性机制提供良好的开箱即用体验。
- 分布式配置
- 服务注册和发现
- 路由
- 服务到服务的调用
- 负载均衡
- 断路器
- 全局锁
- 领导选举和集群状态
- 分布式消息传递
Spring Cloud 主要项目
Spring Cloud Config
由git存储库支持的集中式外部配置管理。配置资源直接映射到Spring,Environment但如果需要,可以由非Spring应用程序使用。
Spring Cloud Netflix
与各种Netflix OSS组件(Eureka,Hystrix,Ribbon,Zuul等)集成。
Spring Cloud Security
为Zuul代理中的负载平衡的OAuth2其余客户端和身份验证标头中继提供支持。
Spring Cloud Sleuth
Spring Cloud应用程序的分布式跟踪,与Zipkin,HTrace和基于日志(例如ELK)的跟踪兼容。
Spring Cloud Stream
轻量级的事件驱动型微服务框架,用于快速构建可以连接到外部系统的应用程序。在Spring Boot应用程序之间使用Apache Kafka或RabbitMQ发送和接收消息的简单声明性模型。
Spring Cloud 版本
Spring Cloud是一个总括项目,由原则上具有不同发布节奏的独立项目组成。为了管理项目组合,将发布BOM(物料清单),并带有对单个项目的精选依赖关系集。发行版本的名称名称是按字母顺序排列的,带有伦敦地铁站的名称(“ Angel”是第一个发行版,“ Brixton”是第二个发行版)。
Spring Cloud 版本 |
Spring Boot 版本 |
Hoxton |
2.2.x |
Greenwich |
2.1.x |
Finchley |
2.0.x |
Edgware |
1.5.x |
Dalston |
1.5.x |
如有疑问,请看视频:Spring Cloud 实战教程
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树服务 格(istio)ServiceMesh介绍8665 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!