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