什么是负载均衡?
当一台CTBS服务器的性能达到极限时,我们可以使用服务器集群来提高CTBS服务器的整体性能。那么,在服务器集群中,需要有一台服务器充当调度者的角色,我们称之为主服务器,用户的所有请求都会首先由它接收,主服务器再根据每台服务器的负载情况将请求分配给某一台后端服务器(Agent服务器)去处理。
那么在这个过程中,CTBS主服务器如何合理分配任务,保证所有Agent服务器都将性能充分发挥,从而保持CTBS服务器集群的整体性能最优,从而支持大并发的用户,这就是负载均衡问题。
CTBS负载均衡的实现方式。
过程描述
当客户端向CTBS服务器发起请求时,请求首先被集群主服务器截获;主服务器根据某种分配策略,选择一台Agent服务器,并将选中的服务器的IP地址封装记录下来,将这个消息返回给CTBS客户端,接下来的数据就有CTBS客户端与Agent服务器直接通信。
调度策略
CTBS主服务器收到用户的请求后,究竟选择哪台Agent服务器处理请求,这由主服务器服务器所使用的调度策略决定。
随机分配策略
当CTBS主服务器收到用户请求后,可以随机决定使用哪台Agent服务器,然后将该服务器的IP记录在内存中,返回给客户端即可。
轮询策略(RR)
CTBS主服务器需要维护一个值,用于记录上次分配的Agent服务器的IP。那么当新的请求到来时,CTBS主服务器将请求依次分配给Agent服务器。
由于轮询策略需要主服务器维护一个值用于记录上次分配的服务器IP,因此需要额外的开销;此外,由于这个值属于互斥资源,那么当多个请求同时到来时,为了避免线程的安全问题,因此需要锁定互斥资源,从而降低了性能。而随机分配策略不需要维护额外的值,也就不存在线程安全问题,因此性能比轮询要高。
以上这就是CTBS高级版的负载均衡实现原理。
相关解决方案
客户案例
小时响应
技术服务
运维保障
服务支持
留下您的联系方式,让我们联系您。
提交成功!
咨询热线:800-999-6619