农场集群中的虚拟 IP 地址
在上图中,应用 正在 3 台服务器上运行(3 只是一个例子,可以是 2 台或更多)。用户连接到虚拟 IP 地址。
虚拟 IP 地址 在农场集群中的每台服务器上本地配置。
输入到虚拟 IP 地址的流量被所有服务器接收,并通过位于每个服务器内核内的网络过滤器在它们之间进行拆分。
SafeKit 检测硬件和软件故障,在发生故障时重新配置网络过滤器,并提供可配置的应用检查器和恢复脚本。
Evidian > SafeKit:简单、经济高效的高可用性软件 > Farm 集群- 运行在Windows, Linux操作系统平台上的网络负载均衡集群
群集场(Farm Cluster)是一种双活(Active-Active)高可用性解决方案,通过在两个或更多节点的集群中部署场模块构建而成。群集场通过网络流量的透明分配提供网络负载均衡,并提供软件和硬件故障转移。这种架构为支持系统负载的增长提供了一个简单的解决方案。
相同的应用程序在每台服务器上运行,负载通过将网络活动分配到场中不同的服务器来实现平衡。
群集场适用于 Web 服务等前端应用程序。
Apache、Microsoft IIS、NGINX 解决方案都是场模块的示例。您可以基于 generic farm.safe 模块为您的应用程序编写自己的场模块。
在上图中,应用 正在 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 合作伙伴 |
| VM vs 应用级 HA | SafeKit:高可用性 (HA) 和冗余方案的选择 | VM/应用选择 |
| 典型用途 | SafeKit 的典型用途与限制 | 用途与限制 |
| 视频中心 | SafeKit:技术演示与教程 | 观看视频 |
| 镜像集群 | SafeKit 镜像集群如何工作(实时文件复制和故障转移)? | 镜像集群 |
| 集群场 | SafeKit 集群场如何工作(网络负载均衡和故障转移)? | 集群场 |
| 核心优势 | SafeKit 与传统高可用性 (HA) 集群的比较 | 查看优势 |
| 资源库 | SafeKit 高可用性资源、下载和文档 | 获取资源 |
| 应用模块 | SafeKit 应用模块库:即插即用的解决方案 | 浏览模块 |