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

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
.cn 域名,1个 12个月
简介: 快速学习企业集群平台架构设计与实现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 层的功能。

相关文章
|
9天前
|
自然语言处理 JavaScript Java
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
HarmonyOS采用分层架构设计,从下至上分为内核层、系统服务层、框架层和应用层。内核层支持多内核设计与硬件驱动;系统服务层提供核心能力和服务;框架层支持多语言开发;应用层包括系统及第三方应用,支持跨设备调度,确保一致的用户体验。
125 81
|
20天前
|
监控 数据可视化 架构师
为什么企业需要开展架构治理?
随着数字化转型加速,企业面临的技术和业务环境日益复杂,传统架构难以应对快速变化的需求。企业架构治理成为数字化转型的关键,通过确保技术与战略对接、优化资源利用、降低风险和复杂性,提升企业灵活性、效率和创新能力,支持快速响应市场变化,推动数字化转型成功。
85 7
为什么企业需要开展架构治理?
|
2天前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
20天前
|
监控 数据可视化
如何通过建模工具实现企业架构治理全流程管理
企业架构治理工具通过构建统一的架构语言、可视化建模、流程管理、资源整合和多场景分析,实现企业架构的全生命周期管理。该工具赋能企业数字化转型,确保业务、平台、数据及技术相互耦合闭环,提供从规划到决策的一站式服务,助力提升业务运营、优化组织管理和加速数字化建设。
37 2
如何通过建模工具实现企业架构治理全流程管理
|
5天前
|
人工智能 运维 监控
云卓越架构:企业稳定性架构体系和AI业务场景探秘
本次分享由阿里云智能集团公共云技术服务部上海零售技术服务高级经理路志华主讲,主题为“云卓越架构:企业稳定性架构体系和AI业务场景探秘”。内容涵盖四个部分:1) 稳定性架构设计,强调高可用、可扩展性、安全性和可维护性;2) 稳定性保障体系和应急体系的建立,确保快速响应和恢复;3) 重大活动时的稳定重宝策略,如大促或新业务上线;4) AI在企业中的应用场景,包括智能编码、知识库问答、创意广告生成等。通过这些内容,帮助企业在云计算环境中构建更加稳定和高效的架构,并探索AI技术带来的创新机会。
|
7天前
|
监控 架构师 安全
企业架构(EA)项目开发综合指南
企业架构(EA)是一种全面的方法,用于对齐企业的业务目标与其 IT 战略和资源。EA 涵盖了企业的各个层面,包括业务流程、信息流、应用系统和技术基础设施。本指南将详细探讨 EA 项目开发的关键步骤、[EA](https://www.visual-paradigm.com/features/enterprise-architecture-diagram-tool/) 与 TOGAF、ArchiMate 以及其他建模图(如 BPMN 和 UML)之间的关系,以及推荐 Visual Paradigm 作为 EA 团队的最佳解决方案。
39 3
|
22天前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
68 3
|
20天前
|
存储 负载均衡 监控
揭秘 Elasticsearch 集群架构,解锁大数据处理神器
Elasticsearch 是一个强大的分布式搜索和分析引擎,广泛应用于大数据处理、实时搜索和分析。本文深入探讨了 Elasticsearch 集群的架构和特性,包括高可用性和负载均衡,以及主节点、数据节点、协调节点和 Ingest 节点的角色和功能。
40 0
|
20天前
|
弹性计算 负载均衡 安全
企业业务上云经典架构方案整体介绍
本次课程由阿里云产品经理晋侨分享,主题为企业业务上云经典架构。内容涵盖用户业务架构现状及挑战、阿里云业务托管经典架构设计、方案涉及的产品选型配置,以及业务初期如何低门槛使用。课程详细介绍了企业业务上云的全流程,帮助用户实现高可用、稳定、可扩展的云架构。
|
1月前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。

热门文章

最新文章

下一篇
开通oss服务