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

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

client构造并发送请求,在异步系统里可以将构造和发送解偶,如图java分布式通信(续三)----通信结点的设计模型

     RequestBuilder生成Request

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

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

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

 

 

server接收请求并处理,如图java分布式通信(续三)----通信结点的设计模型

 

        RequestAccepter接收请求并放入Request队列

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

        RequestHandler处理完毕后返回Response.

 

client与server之间的通信:

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

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

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

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

 

相关文章:

  • 2021-08-05
  • 2022-12-23
  • 2021-05-22
  • 2021-09-23
  • 2021-09-03
  • 2021-07-24
猜你喜欢
  • 2021-06-25
  • 2021-09-10
  • 2022-12-23
  • 2021-05-03
  • 2021-12-03
  • 2022-12-23
相关资源
相似解决方案