摘要:
在高速发展的互联网时代,网站的业务发展日益迅速,访问流量急剧增大,大多数网站使用分布式系统架构来处理庞大的业务请求,通过远程过程调用的方式将请求分配给系统中的服务器进行处理。对于远程调用的方式来说,请求消息通过网络到达服务器,服务器需要处理大量的I/O并发请求,这对服务器的通信能力是一个巨大的挑战。Netty异步通信框架的产生,可以有效的提高服务器的通信性能。相对于传统的NIO(New IO)框架,Netty在缓冲区、通道以及线程池模型上进行了优化。通过I/O线程的合理调度,处理高并发I/O请求。另外Netty为用户提供了灵活的定制机制,将用户自定义的处理器添加到Netty的处理链中,对业务消息进行拦截处理。本文将Netty作为服务器的底层通信框架,设计了一个高性能的RPC(Remote Procedure Call)服务器。本文首先分析了RPC远程过程调用的原理及参数传递机制,并对IO通信模型的发展过程以及负载均衡算法进行研究。根据RPC服务器的功能和性能需求,设计并搭建了系统框架。然后对Netty的IO模型、线程模型以及Netty的消息处理过程进行研究。从服务器调度处理过程的角度出发,分别实现了服务器的通信调度模块、编解码模块、服务发布和订阅、业务调度处理模块以及长连接服务等功能,通过各个模块之间的调用处理,实现一个高性能服务器的功能,并对服务器进行初步优化。最后通过实验,对服务器的各个模块的性能进行测试,发现服务器有着良好的并发处理性能。
展开