学透 Spring:从入门到项目实战
丁雪丰
美团研究员
1073 人已学习
立即订阅
登录后,你可以任选4讲全文学习
课程目录
已完结/共 45 讲
时长 07:11
时长 15:51
时长 00:10
时长 02:03
时长 00:39
学透 Spring:从入门到项目实战
15
15
1.0x
00:00/00:00
登录|注册

第 13 章 服务注册与发现(1)

本章内容
常见的微服务负载均衡方案
基于 Spring Cloud 的微服务注册与发现机制
Spring Cloud DiscoveryClient 的实现原理
Spring Cloud 中的几种常见服务注册中心
为了提供稳定的服务,系统通常都会采取一些高可用方案,其中集群化就是比较常用的做法。系统一般会部署为一个或者多个集群,集群内的实例都是无状态的,此时就需要考虑如何将请求合理地分发到集群中的各个实例上——这就是负载均衡。负载均衡有很多种方案,有硬件的,也有软件的,有集中式的,也有分布式的。本章就让我们来了解一下 Spring Cloud 为我们提供的微服务负载均衡方案——这是一套分布式的软负载解决方案,而且还支持多种注册中心,使用起来非常方便灵活。

13.1 常见的负载均衡方案

在开始接触 Spring Cloud 的负载均衡方案前,先让我们来了解一下业界一直以来所使用的负载均衡方案,其中用到的一些技术有的历史悠久,而有的算是新技术。

13.1.1 集中式方案

所谓集中式方案,通常会有个集中的流量入口,就像图 13-1 里画的那样。其中服务消费者就是服务的调用方,它可以是一个集群,也可以是真实用户(针对对外的服务或者页面)。负载背后真正提供服务的节点,我们可以称其为 Real Server,即真实服务器。服务消费者并不能直接访问真实的服务提供者,需要通过负载均衡器来进行中转,这里介绍的负载均衡器是集中式的,因此在图中将其标注为集中负载。
图 13-1 常见的集中式负载均衡方案
商业硬件方案
谈到商业负载均衡,比较有名的就是 F5 Networks 的 BIG-IP 了。有些时候我们在交流时甚至会用 F5 来指代硬件负载均衡设备。F5 可以工作在 OSI 的四层到七层,一般我们会使用四层负载和七层负载。四层负载直接根据 IP 和端口对请求进行负载,发送到后端的服务器上。七层负载则在四层的基础上,可以根据应用的特点再做分发,例如一个 HTTP 的负载均衡器,除了 IP 和端口,还能根据 URL、HTTP 头等信息决定请求如何负载。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了微服务架构中的服务注册与发现机制以及负载均衡方案。涵盖了集中式和分布式负载均衡方案,商业硬件和开源软件方案,以及通过P2P协议实现的分散化负载均衡。同时介绍了Spring Cloud提供的微服务负载均衡方案和多种注册中心的使用。通过具体案例和技术细节,帮助读者了解了微服务架构中的服务注册与发现机制,以及实现负载均衡的方法和工具。此外,还介绍了OpenFeign作为一款声明式的Web服务客户端,以及对Zookeeper作为服务注册中心的一些局限性和对CAP定理的相关内容。总的来说,本文为读者提供了对微服务架构中服务注册与发现的全面了解,以及在实际应用中的选择和应用建议。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《学透 Spring:从入门到项目实战》
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部