`
hxpterry
  • 浏览: 17554 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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.将处理请求和接收请求分开,否则会降低吞吐率和并法量

 

分享到:
评论
2 楼 Mr.Cheney 2013-03-11  
受益匪浅啊,技术流! 可惜 大神都不在JAVAEYE混了,哎
1 楼 javalucky 2010-12-22  
谢谢你的文章

相关推荐

Global site tag (gtag.js) - Google Analytics