java分布式通信(续三)----通信结点的设计模型

通信是请求响应的方式,这对于接口服务器,消息分发服务器和应用服务器来说都是一直的,所以三者可以采用一致的模型来描述.

包括两个部分:client和server.这里描述一下二者的结构和网络通信.

client构造并发送请求,在异步系统里可以将构造和发送解偶,如图java分布式通信结点client结构图

     RequestBuilder生成Request

     将Request投入到Request队列(RequestQueue)中

     独立线程RequestScanner扫描Request队列并调用RequestSender发送请求.

     针对不同类型的请求可以构造不同的队列和不同的sender,队列中Request的优先级策略可以根据需要来定制.

 

 

server接收请求并处理,如图java分布式通信结点server结构图

 

        RequestAccepter接收请求并放入Request队列

        独立线程扫描队列并将调用RequestHandler进行处理

        RequestHandler处理完毕后返回Response.

 

client与server之间的通信:

       通信协议和技术有很多,如web service,EJB,jms,单这里采用基于java NIO的socket,因为其异步性和高并发量.

       采用socket的两个基本标准是:

       1.服务器上的线程数可控,切忌与请求数线性增长

       2.将处理请求和接收请求分开,否则会降低吞吐率和并法量

 

你可能感兴趣的:(java,应用服务器,socket,网络应用,jms)