置信我,请认真读完,点开每一个链接,或者你能力真正理解什么是微服务?什么是分布式?什么是云计算?相对没有多余!

1 微服务

微服务架构是“新常态”。构建小型的、自蕴含的、随时能够运行的应用程序能够为代码带来极大的灵活性和灵活性。spring boot的许多专门构建的个性使得在大规模生产中构建和运行微服务变得非常容易。别忘了,没有spring cloud,就没有一个微服务架构是残缺的,它简化了治理,加强了您的容错能力。

1.1 什么是微服务?

微服务是一种古代的软件办法,利用程序代码能够独立于其余程序以可治理的小块模式交付。

1.2 为什么要构建微服务?

它们的小规模和绝对隔离能够带来许多额定的益处,例如更容易保护、进步生产力、更大的容错能力、更好的业务协调等等。

2 Spring Cloud

开发分布式系统可能具备挑战性。复杂性从应用层转移到网络层,要求服务之间进行更大的交互。使您的代码成为“本机云”意味着要解决12个因素的问题,例如内部配置、无状态状态、日志记录和连贯到反对服务。spring cloud我的项目套件蕴含许多使应用程序在云中运行所需的服务。

2.1 Service discovery——服务发现

在云中,应用程序不可能总是晓得其余服务的确切地位。服务注册核心(如Netflix Eureka)或sidecar解决方案(如HashiCorp consur)都能够提供帮忙。spring cloud为风行的注册核心提供了Discovery Client实现,比方Eureka、consur、Zookeeper,甚至Kubernetes的内置零碎。还有一个spring cloud负载平衡器(Spring Cloud LoadBalancer),能够帮忙您在服务实例之间小心地调配负载。

2.2 API gateway——API 网关

因为有如此多的客户机和服务器,在您的云架构中蕴含一个API网关通常是很有帮忙的。网关能够负责爱护和路由音讯、暗藏服务、限度负载以及许多其余有用的事件。spring cloud gateway为您提供了对API层的准确管制,集成了spring cloud服务发现和客户端负载平衡解决方案,以简化配置和保护。

2.3 Cloud configuration——云配置

在云中,配置不能简略地嵌入到应用程序中。配置必须足够灵便,以应答多个应用程序、环境和服务实例,并在不停机的状况下解决动态变化。spring cloud config旨在加重这些累赘,并提供与Git等版本控制系统的集成,以帮忙您确保配置的平安。

2.4 Circuit breakers——断路器

分布式系统可能不牢靠。申请可能会遇到超时或齐全失败。断路器能够帮忙缓解这些问题,spring cloud断路器为您提供了三种风行的抉择:Resilience4J、Sentinel或Hystrix。

2.5 Tracing——追踪

调试分布式应用程序可能很简单,而且须要很长时间。对于任何给定的失败,您可能须要将来自多个独立服务的信息跟踪拼凑在一起。spring cloud sleuth能够以一种可预测和可反复的形式为您的利用程序安装工具。当与Zipkin联合应用时,您能够将注意力集中在任何可能存在的提早问题上。

2.6 Testing——测试

在云计算中,领有牢靠、可信、稳固的api能够取得额定的分数,但要实现这一指标还须要一段旅程。基于契约的测试是高绩效团队常常应用的一种技术。它有助于规范化api的内容,并围绕它们构建测试,以确保代码始终处于查看状态。
spring cloud contract通过应用Groovy、Java或Kotlin编写的契约,为REST和基于消息传递的api提供基于契约的测试反对。

3 流数据

spring cloud stream使得应用和生成事件变得非常容易,无论您抉择哪个消息传递平台。spring cloud stream只需几行代码就能够将您的微服务与实时消息传递连接起来,以帮忙您构建高度可伸缩、事件驱动的零碎。
Get started with Spring Cloud Stream

4 治理微服务

spring boot的可选仪器框架microller间接将度量发送给Prometheus、Atlas等,以提供有价值的见解。spring cloud的Sleuth和Zipkin我的项目补充了这一点,它们提供了分布式跟踪,以便您可能实时跟踪正在产生的事件。
Get started with Micrometer on Spring Boot

5 云计算

微服务的小型、无状态个性使其成为程度扩大的现实抉择。像TAS和PKS这样的平台能够提供可扩大的基础设施来匹配,并大大减少您的治理开销。应用云连接器,您还能够轻松地应用多个后端服务。
Try Pivotal Web Services for free

6 链接

  • https://spring.io/microservices
  • https://spring.io/cloud
  • https://run.pivotal.io/

Spring Cloud系列

Spring Cloud系列之微服务介绍
[Spring Cloud系列之微服务注册核心]()
[Spring Cloud系列之微服务对立配置核心]()
[Spring Cloud系列之微服务RPC]()
[Spring Cloud系列之微服务服务监控]()
[Spring Cloud系列之微服务链路跟踪]()
[Spring Cloud系列之微服务受权与认证]()

对于

我是冯文议(Erwin Feng),Java Developer,专一于程序设计与开发。开源我的项目:JavaLib、api-result。喜爱电影、游戏、音乐、茶、旅行。
我的集体网站:https://fengwenyi.com
我的Github:https://github.com/fengwenyi