Farm 集群- 运行在Windows, Linux操作系统平台上的网络负载均衡集群
Evidian SafeKit
核心应用的高可用性和可扩展性
SafeKit Farm集群在几个服务器之前实现了网络负载均衡集群。 这个集群为核心应用的可扩展性和高可用性提供了一个简单的解决方案。Farm集群可以通过SafeKit运行在Windows, Linux操作系统上实现。因此,网络负载均衡集群不仅仅现在在Windows环境。
SafeKit相比硬件负载均衡方案节省了成本。并且,不需要专门的服务器来实现网络负载均衡集群。
在Farm集群中,同样的应用运行在各个服务器上,负载被分配在Farm集群的每一个服务器上。因此,这种网络负载集群很适合前端的应用,比如WEB服务。
SafeKit 高可用性软件提供一个通用的Farm模块来实现这样的架构。您也可以以此为模板为自己的应用程序编写自己的Farm模块。Apache和Microsoft IIS就是Farm模块的样例。
在Windows或者Linux平台上实现网络负载均衡Farm集群的虚拟IP地址的原理
虚拟IP地址配置在Farm集群中的每一个服务器的本地上。进入虚拟IP地址的网络流量被所有的服务器所接收,被过滤器进行分割后,再进入服务器核心。
过滤器内部的网络负载均衡机制基于客户数据包的身份特征(IP地址,客户端的TCP端口)。 依靠客户端数据包的特征,只有一个服务器上的过滤器接收数据包。其他服务器上的过滤器拒绝接受这个数据包。当一个数据包被服务器上的过滤器接收后,只有这个服务器上被应用程序使用的CPU和内存被用来相应请求。输出的信息直接从应用服务器传递给客户端。 此处有Microsoft的NLB与SafeKit的网络负载均衡的比较。
如果一个服务器失效,SafeKit的成员协议重新配置网络负载均衡集群里的过滤器,来重新平衡剩下可用服务器的负载。
在Windows或者Linux平台上Farm集群下,实施有状态和无状态的WEB服务网络负载均衡。
在有状态的服务器上,会话是至关重要的。一个客户端必须连接同一个服务器,在多个HTTP/TCP 会话中来获取服务器的上下文环境。这种情况下,SafeKit的负载均衡规则配置基于客户的IP地址。因此,同样的客户端在多个TCP会话中,总是连接同一个服务器。不同的客户端分配在Farm集群中的其他服务器上。这种配置应用在会话为主的应用上。
无状态服务器,与会话没有那么密切相关。同样的客户端可以在多个HTTP/TCP会话中,连接不同的服务器。因为,在每一个服务器上不存在与会话相关的上下文环境。这样的情况下,SafeKit的负载均衡规则配置基于客户端的TCP会话。这样的配置是服务器之间分布会话的最好方式,但是前提是需要TCP服务与会话无关。
在N服务器上部署一个farm模块,并实施一个网络负载均衡集群 |
|
Windows farm |
Linux farm |
Generic Windows farm > | Generic Linux farm > |
Microsoft IIS > | - |
NGINX > | |
Apache > | |
Amazon AWS farm > | |
Microsoft Azure farm > | |
Google GCP farm > | |
Other cloud > |
不同的软件集群
SafeKit提供两个基础软件集群:镜像集群和farm 集群。几种应用模块可以配置在同一个软件集群上。因此,高级集群架构可以被实施:混合farm/mirror,active/active 或N-1。
做正确的选择
在市场上有很多种类的高可用方案,这些方案中,SafeKit的特点就是下面所介绍的简便性。您可以下载这个高可用性手册来选择适合您的关键应用的解决方案。
软件集群vs硬件集群
当您建立一个集群服务器时,有两个选择:一个像SafeKit的软件集群,或是一个硬件集群。相比之下SafeKit的实施会简单得多。
无共享vs硬盘共享集群
SafeKit是一个不共享集群而非硬盘共享集群。由于不需配置共享硬盘,服务器可以很容易地安装在远程计算机房,同时不需要SAN和可复制的硬盘阵列。
虚拟高可用 vs应用高可用
虚拟高可用在虚拟机级别上实现高可用,而应用高可用在应用级别实现高可用。在虚拟高可用和应用高可用之间做选择,请阅读这篇文章。
文件复制vs硬盘复制
不同于硬盘复制,在使用文件复制时,您仅仅需要确定您想实时复制的文件的路径就可以了。SafeKit是一个基于文件复制的方案。因此不需要配置特殊的硬盘就能够实现全部复制。
同步复制vs异步配置
如果您选择了SafeKit的同步复制而非异步复制,那么失效备援发生时您就不会再有任何的数据丢失。
没有网络先决条件的网络负载平衡
在VMware里,SafeKit是微软NLB的多播或单播的替代品,它不需要特殊的网络配置。并且,它可以在Windows,和Linux上运行。
SafeKit的高可用性架构
- 在两台服务器上部署一个镜像模块,并实施一个块级别和文件级的软件数据复制。
- 在N服务器上部署一个farm模块,并实施一个网络负载均衡集群。
- 部署一个镜像模块+一个farm模块,并实施一个负载均衡与镜像集群方案。
- 部署两个镜像模块,并实施一个active-active交叉数据复制集群。