weibocom / motan

A cross-language remote procedure call(RPC) framework for rapid development of high performance distributed services.
Other
5.89k stars 1.78k forks source link

motan-transport-netty4模块NettyServerChannelManage中管理服务端最大链接问题 #779

Open aqiangsoft opened 5 years ago

aqiangsoft commented 5 years ago

1.当有motan客户端远程连接到server端时,由于网络框架使用的netty4,是否将NettyServerChannelManage中的channelRegistered/channelUnregistered优化为channelActive/channelInactive会更好, channelRegistered事件只是说明其已经注册到eventloop,但此时channel并未处于active状态(不能被调度处理IO事件),使用channelRegistered是否为考虑channel注销或者重新注册的情况? 2.服务端连接池管理中的channels,在使用判断时直接使用ConcurrentHashMap.size来判断是有问题的,使用channels.entrySet().size()会更安全一些,另外在注册连接时channels.putIfAbsent(channelKey,channel)会更好

rayzhang0603 commented 5 years ago

@aqiangsoft NettyServerChannelManage的主要作用是限制最大建链数量,register的更适合做建链入口管理。