VS/DR 实现虚拟服务器
在VS/NAT
的集群系统中,请求和响应的数据报文都需要通过负载调度器,当真实服务器的数目在10台和20台之间时,负载调度器将成为整个集群系统的新瓶颈。大多数 Internet 服务都有这样的特点:请求报文较短而响应报文往往包含大量的数据。
既然同时处理进出报文会大大地影响效率,增加机器的负载,那么若是仅仅处理进来的报文,即在负载调度器中只负责调度请求,而出去的报文由 Real Server
直接发给客户端这样岂不是高效许多。
VS/DR
(Virtual Server via Direct Routing)利用大多数 Internet 服务的非对称特点,负载调度器中只负责调度请求,而服务器直接将响应返回给客户,可以极大地提高整个集群 系统的吞吐量。
VS/DR
实现的虚拟服务器是这样的一个结构,主要经过这样的一些步骤:

- 客户端通过 Internet 向服务器发起请求,而请求的 IP 地址指向的是调度器上对外公布的 IP 地址;
- 请求报文到达调度器(Load Balancer),调度器根据各个服务器的负载情况,动态地选择一台服务器,不修改也不封装 IP 报文,而是将数据帧的
MAC
地址改为选出服务器的MAC
地址,再将修改后 的数据帧在与服务器组的局域网上发送。因为数据帧的 MAC 地址是选出的服务器,所以服务器肯定可以收到这个数据帧; Real Server
接收到报文之后,发现报文的目标地址VIP
是在本地的网络设备上,服务器处理这个报文,然后根据路由表将响应报文直接返回给客户。

在 VS/DR
中,根据缺省的 TCP/IP
协议栈处理,请求报文的目标地址为 VIP
,响应报文的源地址肯定也为VIP
,所以响应报文不需要做任何修改,可以直接返回给客户,客户认为得到正常的服务,而不会知道是哪一台服务器处理的。
这便是 VS/DR
的处理数据包的整个过程,它有这样的一些特点:
- 集群节点,也就是
Real Server
与Load Balacer
必须在同一个物理网络中(若是不同网段的话结构将变得复杂) RIP
通常是私有地址,也可以是公网地址,以便于远程管理与监控。Load Balancer
仅仅负责处理入站的请求,Real Server
将直接响应客户端Real Server
的网关不能指向Load Balancer
- 不支持端口映射:也就是
Real Server
的端口必须是与Load Balancer
对外服务的一样
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。