close

开发分布式系统可能具有挑战性。复杂性已从应用程序层转移到网络层,并要求服务之间进行更大的交互。将代码设为“云原生”意味着要处理12个因素,例如外部配置,无状态,日志记录以及连接到后备服务。Spring Cloud项目套件包含使您的应用程序在云中运行所需的许多服务。

Spring Cloud架构亮点

春云图 春云图

服务发现

在云中,应用程序不能总是知道其他服务的确切位置。诸如Netflix Eureka之类的服务注册表或诸如HashiCorp Consul之类的sidecar解决方案都可以提供帮助。Spring CloudDiscoveryClient为流行的注册表提供了实现,例如EurekaConsulZookeeper甚至Kubernetes的内置系统。还有一个Spring Cloud Load Balancer可以帮助您在服务实例之间仔细分配负载。

开始使用此简单指南

API网关

由于有如此众多的客户端和服务器,在您的云体系结构中包括一个API网关通常会很有帮助。网关可以负责保护和路由消息,隐藏服务,限制负载以及许多其他有用的事情。Spring Cloud Gateway为您提供对API层的精确控制,集成了Spring Cloud服务发现和客户端负载平衡解决方案,以简化配置和维护。

Spring Cloud Gateway入门
“我们发现[Spring Cloud Gateway]的性能非常吸引人。在我们的用例中,低延迟,良好的吞吐量和[很少]的超时。”
TD Ameritrade高级开发人员Chris Jackson

云配置

在云中,配置不能简单地嵌入到应用程序内部。配置必须足够灵活,以应对多个应用程序,环境和服务实例,并应对动态变化而不会停机。Spring Cloud Config旨在减轻这些负担,并与Git等版本控制系统集成,以帮助您确保配置安全。

现在就试试

断路器

分布式系统可能不可靠。请求可能会遇到超时或完全失败。断路器可以帮助缓解这些问题,Spring Cloud Circuit Breaker为您提供了三种流行的选择:Resilience4JSentinelHystrix

尝试本指南以开始使用

追踪

调试分布式应用程序可能很复杂并且需要很长时间。对于任何给定的故障,您可能需要将来自几个独立服务的信息痕迹拼凑在一起。Spring Cloud Sleuth可以以可预测和可重复的方式来检测您的应用程序。当与Zipkin结合使用时,您可以解决可能存在的任何延迟问题。

测验

在云中,拥有可靠,可信赖,稳定的API可以为您带来额外的好处-但是要经历一段旅程。基于合同的测试是高绩效团队经常使用的一种技术。通过形式化API的内容并围绕它们进行测试以确保代码始终处于检查状态,它可以提供帮助。

Spring Cloud Contract使用Groovy,Java或Kotlin编写的合同为REST和基于消息传递的API提供基于合同的测试支持。

尝试本指南以开始使用

准备开始了吗?

更多资源

引入Azure Spring Cloud
引入Azure Spring Cloud
乔什·朗(Josh Long)
迁移到云原生应用程序架构 迁移到云原生应用程序架构
马特·斯汀(Matt Stine)