`
hxpterry
  • 浏览: 17708 次
  • 性别: 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  
谢谢你的文章

相关推荐

    一种基于Tuscany SCA的分布式应用模型.pdf

    文章中描述的“分布式应用模型”指的是采用Tuscany SCA构建的应用程序模型。该模型特别强调了“单云多结点”的概念,其中“单云”指的是一个集中的云环境,而“多结点”则指的是分布在这个云环境中的多个处理单元或...

    跳槽涨薪精选面试题.pdf

    - 基于Saga事务、TCC(Try-Confirm-Cancel)等现代分布式事务模型。 #### 7. 分布式服务框架 - **Zookeeper** - Zookeeper是一个分布式协调服务,用于维护配置信息、命名、提供分布式同步等。 - 领导者选举是...

    2021-2022计算机二级等级考试试题及答案No.11563.docx

    - **知识点**: 在一棵二叉树中,每一层的最大结点数是2^(层号-1),因此第5层的最大结点数为2^4=16个。 - **重要程度**: 高 - **应用**: 数据结构与算法分析。 #### 8. Windows 操作系统特性 - **知识点**: Windows ...

    2021-2022计算机二级等级考试试题及答案No.16901.docx

    - **ISO/OSI模型**: ISO/OSI (Open Systems Interconnection Model) 是国际标准化组织提出的一个网络体系结构模型,用于定义不同计算机系统之间的网络通信标准。 #### 27. C语言中的逻辑表达式 - **逻辑表达式**: ...

    【并发编程】简单化理解AQS和ReentrantLock.pdf

    - **消息传递模型**:进程之间通过发送消息进行通信,适用于分布式系统。 #### 4. 并发工具 - **线程池**:管理线程的创建和销毁,避免频繁创建销毁线程带来的开销。 - **并发集合**:提供了线程安全的数据结构,...

    实用文档之软件开发应知应会-84分.pdf

    28. 微服务挑战:微服务架构面临的主要挑战包括服务间的通信复杂性、分布式事务管理和服务发现等。 - 问题:“以下哪些是微服务面临的挑战?”答案是A.微服务的复杂度、B.分布式事务和C.服务发现。 以上知识点涵盖...

    中间件期末考试题.docx

    3. JMS(Java 消息服务)用于分布式对象的异步通信,是一个与具体平台无关的 API。 4. 组件是具有一定逻辑功能的可执行代码,是组成应用程序的构件。 5. ORB(对象请求代理)是对象总线,能使对象透明的向其他本地...

    2021年软件开发应知应会-84分之欧阳学文创编.pdf

    3. 关键路径:在事件结点网络中,关键路径是从源点到汇点的最长路径,它决定了项目的最短完成时间。 4. 线性表:线性表是一种一维数据结构,可以是数组、单链表、双链表或循环链表等形式。 5. 哈希函数构造方法:...

    软件开发应知应会-.docx

    在软件开发领域,掌握各种编程语言、数据结构、算法以及设计模式至关重要。本文将深入探讨这些知识点。 首先,数据结构是计算机科学的基础,它研究的是数据的逻辑结构、存储结构及其运算。逻辑结构是指数据元素之间...

Global site tag (gtag.js) - Google Analytics