eviden-logo

Evidian > SafeKit:简单、经济高效的高可用性软件 > Farm 集群- 运行在Windows, Linux操作系统平台上的网络负载均衡集群

Farm 集群- 运行在Windows, Linux操作系统平台上的网络负载均衡集群

Evidian SafeKit

网络负载均衡和应用故障转移

群集场(Farm Cluster)是一种双活(Active-Active)高可用性解决方案,通过在两个或更多节点的集群中部署场模块构建而成。群集场通过网络流量的透明分配提供网络负载均衡,并提供软件和硬件故障转移。这种架构为支持系统负载的增长提供了一个简单的解决方案。

相同的应用程序在每台服务器上运行,负载通过将网络活动分配到场中不同的服务器来实现平衡。

群集场适用于 Web 服务等前端应用程序。

Apache、Microsoft IIS、NGINX 解决方案都是场模块的示例。您可以基于 generic farm.safe 模块为您的应用程序编写自己的场模块。

SafeKit 农场集群的工作原理?

农场集群中的虚拟 IP 地址

Evidian SafeKit 农场集群如何实现 网络负载均衡和故障转移

在上图中,应用 正在 3 台服务器上运行(3 只是一个例子,可以是 2 台或更多)。用户连接到虚拟 IP 地址。
虚拟 IP 地址 在农场集群中的每台服务器上本地配置。
输入到虚拟 IP 地址的流量被所有服务器接收,并通过位于每个服务器内核内的网络过滤器在它们之间进行拆分。
SafeKit 检测硬件和软件故障,在发生故障时重新配置网络过滤器,并提供可配置的应用检查器和恢复脚本。

网络过滤器中的负载均衡

网络过滤器内的网络负载均衡算法基于客户端数据包的身份(客户端 IP 地址、客户端 TCP 端口)。根据客户端数据包输入的身份,一台服务器中的一个过滤器会接受该数据包;其他服务器中的其他过滤器则会拒绝它。
一旦数据包被服务器上的过滤器接受,只有该服务器的 CPU 和内存会被响应客户端请求的应用 所使用。输出消息直接从应用服务器发送给客户端。
如果一台服务器发生故障,农场心跳协议会重新配置网络负载均衡集群中的过滤器,以便在剩余的可用服务器上重新平衡流量。

有状态或无状态应用

对于有状态 (stateful) 应用,存在会话亲和性 (session affinity)。同一个客户端必须在多个 TCP 会话中连接到同一台服务器,以检索其在服务器上的上下文。在这种情况下,SafeKit 负载均衡规则配置在客户端 IP 地址上。因此,同一个客户端在多个 TCP 会话中总是连接到同一台服务器。而不同的客户端则分布在农场中的不同服务器上。
对于无状态 (stateless) 应用,没有会话亲和性。同一个客户端可以在多个 TCP 会话中连接到农场中的不同服务器。在一 session 和另一 session 之间,服务器上不会本地存储上下文。在这种情况下,SafeKit 负载均衡规则配置在 TCP 客户端会话身份上。此配置是分配服务器间会话的最佳选择,但它要求 TCP 服务不具备会话亲和性。

🔍 SafeKit 高可用性导航中心

探索 SafeKit:功能特性、技术视频、文档和免费试用
资源类型 描述 直接链接
功能特性 为什么选择 SafeKit 实现简单且具有成本效益的高可用性? 查看功能
合作伙伴 SafeKit:合作伙伴高可用性解决方案的基准 SafeKit 合作伙伴
VM vs 应用级 HA SafeKit:高可用性 (HA) 和冗余方案的选择 VM/应用选择
典型用途 SafeKit 的典型用途与限制 用途与限制
视频中心 SafeKit:技术演示与教程 观看视频
镜像集群 SafeKit 镜像集群如何工作(实时文件复制和故障转移)? 镜像集群
集群场 SafeKit 集群场如何工作(网络负载均衡和故障转移)? 集群场
核心优势 SafeKit 与传统高可用性 (HA) 集群的比较 查看优势
资源库 SafeKit 高可用性资源、下载和文档 获取资源
应用模块 SafeKit 应用模块库:即插即用的解决方案 浏览模块