企业集群平台架构设计与实现haproxy篇1|学习笔记

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 快速学习企业集群平台架构设计与实现haproxy篇1

开发者学堂课程【企业集群平台架构设计与实现:lvs/haproxy/keepalived企业集群平台架构设计与实现haproxy篇1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/391/detail/5013


企业集群平台架构设计与实现 haproxy 篇1


内容简介:

一、四层和七层负载均衡的区别

二、HAProxy 与 LVS 的异同


一、四层和七层负载均衡的区别

都知道 LVS 是四层的负载均衡,HAProxy 是七层的负载均衡。具体的区别看下面的图就清楚了,这个图就是四层负载均衡转发的原理,首先看这个图,在客户端 Client ,会发送一个请求到负载均衡服务器上,负载均衡器以上收到客户端发送的请求后,会通过设定的负载均衡算法去选择一个最佳的后端服务器,后端的服务器叫 Real Server ,选择完之后会将请求的目标报文地址修改为后端服务器的IP地址,这里需要注意一下,接下来直接将报文转发给后端服务器,这样就完成了一个请求,那整体上来看,整个的通信流程,就是 Client 发送一个请求,然后中间的负载均衡只做了一个报文的转发,转发到后端服务器 Real Server 上,整个流程只建立了一个链接就完成了负载均衡,这个是基于四层负载均衡一个非常重要的原理。

所谓的四层就是 ISO 参考模型中的第四层。四层负载均衡也称为四层交换机,它主要是通过分析 IP 层及 TCP/UDP 层的流量实现的基于 IP 加端口的负载均衡。常见的基于四层的负载均衡器有 LVS、F5 等。

以常见的 TCP 应用为例,负载均衡器在接收到第一个来自客户端的 SYN 请求时,会通过设定的负载均衡算法选择一个最佳的后端服务器,同时将报文中目标 IP 地址修改为后端服务器 IP,然后直接转发给该后端服务器,这样一个负载均衡请求就完成了。从这个过程来看,一个 TCP 连接是客户端和服务器直接建立的,而负载均衡器只不过完成了一个类似路由器的转发动作。在某些负载均衡策略中,为保证后端服务器返回的报文可以正确传递给负载均衡器,在转发报文的同时可能还会对报文原来的源地址进行修改。整个过程下图所示。1.png

同理,七层负载均衡器也称为七层交换机,位于 OSI 的最高层,即应用层,当然七层的负载均衡支持七层也支持四层,他的基础实现是从第一层到第七层都是可以支持的,那么如果支持了七层的负载均衡技术的话,就会支持很多常见的应用协议,此时负载均衡器支持多种应用协议,常见的有 HTTP、FTP、SMTP 等。这些协议都是可以通过七层负载均衡技术去实现。此处具体是怎么实现的,可以看下面这张图。这张图的请求原理和刚才四层是差不多的,但也有略微不同,首先也是客户端发送一个请求,客户端请求到七层负载均衡器,之后负载均衡器接收到请求后,会根据负载均衡的算法,去选择后端的 Real Server ,把请求再次传递给后端,这里不是转发的概念,首先是由后端服务器与负载均衡器建立第二条连接,第一条连接则是客户端 Client 与负载均衡,很明显,这个过程是建立了两条链接,当这个连接建立成功后,负载均衡器才会把请求转交给后端 Real Server ,这样来实现的一个负责调度。这样看下来,他的整个过程是建立了两个连接来实现,首先是客户端和负载均衡器建立连接,再是负载均衡器与后端服务器建立连接。七层负载均衡器可以根据报文内容,再配合负载均衡算法来选择后端服务器,因此也称为"内容交换器"。比如,对于 Web 服务器的负载均衡,七层负载均衡器不但可以根据"IP+端口"的方式进行负载分流,还可以根据网站的 URL 、访问域名、浏览器类别、语言等决定负载均衡的策略。例如,有两台 Web 服务器分别对应中英文两个网站,两个域名分别是 A、B,要实现访问 A 域名时进入中文网站,访问B 域名时进入英文网站,这在四层负载均衡器中几乎是无法实现的,而七层负载均衡可以根据客户端访问域名的不同选择对应的网页进行负载均衡处理。常见的七层负载均衡器有 Haproxy、Nginx 等。

这里仍以常见的 TCP 应用为例,由于负载均衡器要获取到报文的内容,因此只能先代替后端服务器和客户端建立连接,接着,才能收到客户端发送过来的报文内容,然后再根据该报文中特定字段加上负载均衡器中设置的负载均衡算法来决定最终选择的内部服务器。纵观整个过程,七层负载均衡器在这种情况下类似于一个代理服务器。整个过程如下图所示。

2.png

通过以上两个图可以看到,在四层的模式下有一个独立的连接就可以实现,在七层模式下,建立了两个体系连接才实现,这里可以看出,在七层负载均衡下它的功能实现会更加强大,但由于它是接近了两条独立的连接,所以他负载均衡器的设备要求会更高,它的负载承载量会更大,因为要建立转发很多链接。通过这里也可以发现七层负载均衡,类似于看到的在 http 中一个代理的功能。对硬件本身包括功能方面的要求,以上就是四层和七层负载均衡器的差异。对比四层负载均衡和七层负载均衡运行的整个过程,可以看出,在七层负载均衡模式下,负载均衡器与客户端及后端的服务器会分别建立一次 TCP 连接,而在四层负载均衡模式下,仅建立一次 TCP 连接。由此可知,七层负载均衡对负载均衡设备的要求更高,而七层负载均衡的处理能力也必然低于四层模式的负载均衡。


二、HAProxy 与 LVS 的异同

两种负载均衡软件的异同总结∶

1.两者都是软件负载均衡产品,但是 LVS 是基于 Linux 操作系统实现的一种软负载均衡,也就是基于 linux 内核本身实现的负载均衡技术,而 HAProxy 是基于第三应用实现的软负载均衡,是独立于内核之外的,也就是说使用起来与内核没有多大的关系。

2.LVS 是基于四层的 IP 负载均衡技术,而 HAProxy 是基于四层和七层技术、也就是说一层到七层都可以完成负载均衡技术,功能上要比LVS强大很多。因此HAProxy可提供 TCP 和 HTTP 应用的负载均衡综合解决方案。

3.LVS 工作在 ISO 模型的第四层,因此其状态监测功能单一,而 HAProxy 在状态监测方面功能强大,可支持端口、URL、脚本等多种状态检测方式。

4.HAProxy 虽然功能强大,但是性能方面要比 LVS,低很多。因为他的功能强大所以他的处理和转发的各种性能没有LVS 在四层的结构下处理要高,整体处理性能低于四层模式的 LVS 负载均衡,而 LVS 拥有接近硬件设备的网络吞吐和连接负载能力。

综上所述,HAProxy 和 LVS 各有优缺点,没有好坏之分,要选择哪个作为负载均衡器,要以实际的应用环境来决定。举个简单的例子,如果是想仅仅做一些端口的负载的话,只用 LVS 就够了,因为它的性能是比较好的,能实现这个功能,那么如果是想基于一个http层一个应用层协议上去运行毫无疑问,就必须要选择 HAProxy ,只有它才能实现 http 层的功能。

相关文章
|
26天前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
78 1
|
2天前
|
人工智能 云计算 网络架构
阿里云引领智算集群网络架构的新一轮变革
11月8日~10日在江苏张家港召开的CCF ChinaNet(即中国网络大会)上,众多院士、教授和业界技术领袖齐聚一堂,畅谈网络未来的发展方向,聚焦智算集群网络的创新变革。
阿里云引领智算集群网络架构的新一轮变革
|
3天前
|
负载均衡 Dubbo 算法
集群容错架构设计
集群容错架构设计
13 1
集群容错架构设计
|
15天前
|
运维 供应链 安全
SD-WAN分布式组网:构建高效、灵活的企业网络架构
本文介绍了SD-WAN(软件定义广域网)在企业分布式组网中的应用,强调其智能化流量管理、简化的网络部署、弹性扩展能力和增强的安全性等核心优势,以及在跨国企业、多云环境、零售连锁和制造业中的典型应用场景。通过合理设计网络架构、选择合适的网络连接类型、优化应用流量优先级和定期评估网络性能等最佳实践,SD-WAN助力企业实现高效、稳定的业务连接,加速数字化转型。
SD-WAN分布式组网:构建高效、灵活的企业网络架构
|
2天前
|
人工智能 运维 网络架构
阿里云引领智算集群网络架构的新一轮变革
11月8日至10日,CCF ChinaNet(中国网络大会)在江苏张家港召开,众多院士、教授和技术领袖共聚一堂,探讨网络未来发展方向。阿里云研发副总裁蔡德忠发表主题演讲,展望智算技术发展趋势,提出智算网络架构变革的新思路,发布高通量以太网协议和ENode+超节点系统规划,引起广泛关注。阿里云HPN7.0引领智算以太网生态蓬勃发展,成为业界标杆。未来,X10规模的智算集群将面临新的挑战,Ethernet将成为主流方案,推动Scale up与Scale out的融合架构,提升整体系统性能。
|
23天前
|
存储 人工智能 算法
精通RAG架构:从0到1,基于LLM+RAG构建生产级企业知识库
为了帮助更多人掌握大模型技术,尼恩和他的团队编写了《LLM大模型学习圣经》系列文档,包括《从0到1吃透Transformer技术底座》、《从0到1精通RAG架构,基于LLM+RAG构建生产级企业知识库》和《从0到1吃透大模型的顶级架构》。这些文档不仅系统地讲解了大模型的核心技术,还提供了实战案例和配套视频,帮助读者快速上手。
精通RAG架构:从0到1,基于LLM+RAG构建生产级企业知识库
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
医疗行业的语音识别技术解析:AI多模态能力平台的应用与架构
AI多模态能力平台通过语音识别技术,实现实时转录医患对话,自动生成结构化数据,提高医疗效率。平台具备强大的环境降噪、语音分离及自然语言处理能力,支持与医院系统无缝集成,广泛应用于门诊记录、多学科会诊和急诊场景,显著提升工作效率和数据准确性。
|
12天前
|
监控 API 调度
开放源代码平台Flynn的架构与实现原理
【10月更文挑战第21天】应用程序的生命周期涉及从开发到运行的复杂过程,包括源代码、构建、部署和运行阶段。
|
15天前
|
Cloud Native Devops 持续交付
云原生架构:重塑企业IT的无形之手####
本文旨在探讨云原生架构如何成为推动企业数字化转型的核心动力,它不仅是一种技术升级,更是业务与开发模式的深刻变革。通过剖析云原生的核心要素——微服务、容器化、持续集成/持续部署(CI/CD)、以及DevOps文化,本文揭示了这一架构如何提升系统的弹性、可扩展性和敏捷性,为企业在竞争激烈的市场环境中赋予快速响应和创新的能力。不同于传统综述,本文将以一个虚构案例贯穿始终,直观展示云原生架构从理论到实践的转化过程,为读者提供一幅生动的技术蓝图。 --- ###
|
23天前
|
机器学习/深度学习 自然语言处理 搜索推荐
大厂 10Wqps智能客服平台,如何实现架构演进?
40岁老架构师尼恩,凭借深厚的架构功力,指导众多小伙伴成功转型大模型架构师,实现职业逆袭。尼恩的《LLM大模型学习圣经》系列PDF,从基础理论到实战应用,全面覆盖大模型技术,助力读者成为大模型领域的专家。该系列包括《从0到1吃透Transformer技术底座》《从0到1吃透大模型的基础实操》《从0到1吃透大模型的顶级架构》等,内容详实,适合不同水平的读者学习。此外,尼恩还分享了多个智能客服平台的实际案例,展示了大模型在不同场景中的应用,为读者提供了宝贵的实践经验。更多技术资料和指导,请关注尼恩的《技术自由圈》公众号。
大厂 10Wqps智能客服平台,如何实现架构演进?