Provider负载均衡:加权轮训,最小响应时间Tcp连接负载均衡:支持按最小请求选择Tcp连接Dubbo请求:批量encodeTcp参数优化:开启TCP_NODELAY(disable Nagle algorihm),调整TCP发送和读写的缓冲区大小 Go有协程及高质量的网络库,协程切换代价较小,大部分场景Go推荐的网络玩法是每个连接都使用对应的协程来进行读写。
可以把eventLoop理解为IO线程,每个网络通信c->ca,ca->pa,pc->p都是单独使用的一个eventLoop,如果入站的io协程和出站的io协程使用相同的协程,可以进一步降低cpu切换的开销。采用复用EventLoop通过判断连接类型分别处理不同逻辑请求。 性能优化离不开的一些套路:异步,去锁,复用,零拷贝,批量等。