关于Spring Cloud的重要之处在于它建立了Spring Boot的概念。 Spring云基于Spring框架的一些常见构建基块, 如下所示:
- 智能路由和服务发现
- 服务到服务呼叫
- 负载均衡
- 领导选举
- 全局锁
- 分布式配置
- 分布式消息
在Spring Cloud上构建微服务时, 最主要的问题是要处理前两个主要的微服务:配置服务和发现服务。
文章图片
上图表示四个微服务的集合。每个服务之间的连接表示依赖性。所有服务都相互依赖。配置服务位于顶部, 发现服务位于底部。两者之间有两种微服务, 即推荐服务和电影服务。
服务到服务的呼叫
这是” 微服务如何通过服务注册表或Eureka服务器与其他从属微服务通信” 的过程。服务到服务调用中遵循以下顺序。
- 注册服务
- 获取注册表
- 寻找下游服务
- 解析底层IP地址
- 呼叫其余端点
负载平衡可将网络流量有效地分配到多个后端服务器或服务器池。负载平衡的目的是最大化吞吐量, 最小化响应时间, 提高效率并优化资源使用。它避免了任何单个资源的过载。通过负载平衡使用多个组件可以通过冗余提高可靠性和可用性。
领导选举
领导层选举允许该应用程序通过第三方系统与其他应用程序一起使用。领导选举用于在不牺牲可用性的情况下提供全局状态或全局顺序。
全局锁
全局锁用于确保没有两个线程同时访问同一资源。程序员使用一种机制来消除这种情况, 称为锁。每个线程首先获取该锁, 对资源进行操作, 然后为其他线程释放该锁。
分布式配置
分布式配置是配置所有微服务的每个实例。 ” Spring云配置服务器” 为分布式系统中的外部化配置提供客户端支持。通过分布式配置, 我们可以集中管理所有环境中应用程序的外部属性。
分布式消息
【Spring Cloud的功能简要介绍】分布式消息传递系统具有可靠性, 可伸缩性和持久性的优点。消息传递模式遵循发布-订阅(Pub-Sub)模型。在Pub-Sub模型中, 消息的发送者称为发布者, 消息的接收者称为订阅者。 Apache Kafka和RabbitMQ是流行的高吞吐量消息传递系统。
推荐阅读
- Spring Cloud Eureka命名服务器示例图解
- Spring Cloud创建一个简单的微服务(图文)
- 微服务架构(MSA)与面向服务架构(SOA)之间的区别
- 将微服务连接到Eureka命名服务器
- Spring Cloud创建一个JPA存储库示例
- Spring Cloud配置JPA和初始化数据
- Spring Cloud Config Server连接到本地Git存储库
- Spring Cloud使用Ribbon实现客户端负载平衡
- Spring Cloud微服务的优势是什么()