BRPC详解(五)——负载均衡之Round Robin
一、负载均衡概述
brpc中LoadBalancer从多个服务节点中选择一个节点,目前的实现见负载均衡。
Load balancer重要的是如何让不同线程中的负载均衡不互斥,解决这个问题的技术是DoublyBufferedData。DoublyBufferedData的相关内容已经在上一篇文章中提到了,感兴趣的小伙伴可以去翻看一下
被包养的程序猿丶:BRPC详解(四)——负载均衡之DoublyBufferedData和NamingService类似,我们使用字符串来指代一个load balancer,在global.cpp中注册:
// Load Balancers
LoadBalancerExtension()->RegisterOrDie("rr", &g_ext->rr_lb);
LoadBalancerExtension()->RegisterOrDie("wrr", &g_ext->wrr_lb);
LoadBalancerExtension()->RegisterOrDie("random", &g_ext->randomized_lb);
LoadBalancerExtension()->RegisterOrDie("la", &g_ext->la_lb);
LoadBalancerExtension()->RegisterOrDie("c_murmurhash", &g_ext->ch_mh_lb);
LoadBalancerExtension()->RegisterOrDie("c_md5", &g_ext->ch_md5_lb);
LoadBalancerExtension()->RegisterOrDie("c_ketama", &g_ext->ch_ketama_lb);
LoadBalancerExtension()->RegisterOrDie("_dynpart", &g_ext->dynpart_lb);
相关文章