1 微服务简介

1 什么是微服务?

微服务是一种现代化的软件方法,通过该方法,应用代码以小巧,易于管理的方式交付,彼此独立。

微服务为构建小型,独立且可运行的应用程序带来极大的灵活性和弹性。

单体架构

微服务架构

2 为什么要建立微服务?

微服务的小规模和相对隔离性可以带来许多其他好处。

例如更容易维护,提高生产率,更大的容错能力,更好的业务调整等等。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章