首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

高并发高可用的通讯框架实践

2013-10-08 
高并发高可用的通信框架实践通信组件用于业务系统内部服务之间的调用,在大并发的电商平台中,需要满足高并

高并发高可用的通信框架实践

通信组件用于业务系统内部服务之间的调用,在大并发的电商平台中,需要满足高并发高吞吐量的要求。

整个通信组件包括客户端和服务端两部分。

客户端和服务器端维护的是长连接,可以减少每次请求建立连接的开销,在客户端对于每个服务器定义一个连接池,初始化连接后,可以并发连接服务端进行rpc操作,连接池中的长连接需要心跳维护,设置请求超时时间。

对于长连接的维护过程可以分两个阶段,一个是发送请求过程,另外一个是接收响应过程。在发送请求过程中,若发生IOException,则把该连接标记失效。接收响应时,服务端返回SocketTimeoutException,如果设置了超时时间,那么就直接返回异常,清除当前连接中那些超时的请求。否则继续发送心跳包(因为可能是丢包,超过pingInterval间隔时间就发送ping操作),若ping不通(发送IOException),则说明当前连接是有问题的,那么就把当前连接标记成已经失效;若ping通,则说明当前连接是可靠的,继续进行读操作。失效的连接会从连接池中清除掉。

每个连接对于接收响应来说都有单独线程运行,客户端可以通过同步(wait,notify)方式或者异步进行rpc调用,

序列化采用更高效的hession序列化方式。

服务端采用事件驱动的NIO的MINA框架,支撑高并发高吞吐量的请求。

高并发高可用的通讯框架实践

 

热点排行