基于流量的负载均衡技术的研究与实现
湖北移动网管中心
2009年9月
目录
立项背景
流量均衡技术研究成果介绍
主要技术创新点
成果应用情况介绍
2
立项背景
随着短信业务的蓬勃发展,最早的双机构架的梦网网关、行业网关和互通网关由于硬件瓶颈的限制无法进行平滑扩容,满足不了业务发展的需求,从2006年开始,我省梦网网关、行业网关和互通网关逐渐演进为集群式的构架。
双机构架
服务器集群构架
3
立项背景
集群构架的优点
服务器可以按照不通的应用分为不同的Group,每个Group内的服务器理论上可以无限多个
理论上可以平滑扩容至无限大,瓶颈由服务器硬件变为局域网的带宽以及网络设备的吞吐率
系统更加强壮,单个服务器的故障甚至少量服务器的故障不会影响系统的正常运行
4
立项背景
传统集群构架在短信网关应用上存在的问题
业务量拥塞:某Group内的一个服务器宕机,业务会自动加载到Group内其他的服务器上,此时如果剩下的服务器的处理能力小于业务量的要求,也会引起话务拥塞导致业务不可用
在短信网关的应用中,SP/EC和网关之间建立的TCP长连接,如果每个TCP连接上的业务量不一致,基于TCP连接的负载均衡机制难以做到对业务负荷的真正均衡
对于短信网关而言,基于TCP连接的负载均衡机制也难以对SP/EC进行流量控制,只能做到对单连接上的流量控制,如果SP/EC增加链接数,那么实际可用流量会随着连接数的增加而成倍增加
5
立项背景
解决思路
业务量拥塞:在系统建设的初期就应该考虑到一定的冗余,至少应该考虑到N+1的冗余方案,即N台主机的能力可满足业务量的需求,正常情况下Group内N+1台主机承载全部业务,任何一台主机由于故障宕机之后,N台主机承载全部的业务而不存在容量问题
负荷分担和流控问题:改变传统集群构架基于TCP连接的负荷分担方式,改造为基于流量的负荷分担方式,这就是本课题解决的问题
6
目录
立项背景
流量均衡技术研究成果介绍
主要技术创新点
成果应用情况介绍
7
流量均衡技术实现方式
在短信网关的传统集群构架中,增加通信代理模块,此模块将所有业务流量集中之后按照一定的策略均衡分配给业务服务器
通信代理模块是实现集群的关键处理单元,该代理作为服务器承担对EC/SP的统一接入,负责管理EC/SP发起的通信链路并且将短消息分发到各个网关服务器结点,该代理会与所有服务器结点保持通信链路;在承载短信接入、转发功能的同时还起到业务层负载均衡器的作用,根据各网关服务器的负载、可用状况将短消息合理的分发至不同的服务器结点上;当某个网关服务器出现故障时,该通信代理仍然可以从EC/SP接收MT消息并发送至可用的服务器节点上,保障系统的高可用性。通信代理对系统资源的消耗很小,不会成为系统性能瓶颈,一般配置两台通信代理服务器主备运行,可以保证系统的高性能和高可靠性。
8
流量均衡技术实现方式
负载均衡器和通信代理模块的分工
负载均衡器根据IP和端口号将消息分配到不同的GROUP(不同的Group在通信代理服务上表征为不同的端口)
如果配置了多个通信代理服务器,负载均衡器还担当将消息向多个代理服务器分配的任务
通信代理根据一定的策略将消息分配到Group中的各个主机,并保障各个主机的负荷率的合理性
通信代理上进行EC/SP的流量控制,可以避免流量控制和TCP连接数的关联关系,使流量控制更为精准
9
通信代理的实现流量均衡的算法简介
轮循算法(Round Robin):通信代理每收到来自EC/SP的请求消息,轮流分发给每个内部可用的服务器结点,并向每个被轮到的服务器结点发送1条消息。这种算法相对简单,但该算法有一定的局限性,更适合于内部各服务器都有相同的软硬件配置并且每个服务器处理能力相对均衡的情况。
加权轮循算法(Weighted Round Robin):静态配置每个服务器节点的处理能力系数(用一个加权系数表示,1到9表示处理能力由低到高),然后根据处理能力系数来分发MT消息;如:服务器1的系数为1,服务器2的系数为2;当通信代理每收到来自EC/SP的请求消息,轮流向这两个服务器发送消息,但是在轮到服务器1时,向其以此发送1条消息;轮到服务器2时,向其发送2条消息。这种算法实现起来也不复杂,但能够按照不同的权重系数更加灵活的将消息发送至不同的服务器上,这种算法更适合于内部各服务器所在服务器的软硬件配置不同,每个服务器的处理能力不同的情况。
响应速度算法(Response Time):通信代理可以向每个可用的服务器发出探测请求消息,然后根据内部各服务器对探测请求的响应速度来决定向哪一个服务器发送来自EC/SP的请求消息。此种均衡算法能较好地反映各服务器的当前运行状态,可以更加准确
基于流量的负载均衡技术的研究与实现V2 来自淘豆网m.daumloan.com转载请标明出处.