分布式应用学习笔记(4)
6. 怎么将流还原为传输格式的?
根据SOAP协议进行还原。
7. 处理完毕后怎么回应?
返回结果写入XML中,由框架返回至调用端。
2.3.6 ActiveMQ
ActiveMQ是JMS的实现,基于JMS这类消息机制实现远程通讯是一种不错的选
择,毕竟消息机制本身的功能使得基于它可以很容易的去实现同步/异步/单向调用等,
而且消息机制从容错角度上来说也是个不错的选择,这是Erlang能够做到容错的重要
基础。
1. 是基于什么协议实现的?
基于JMS协议。
MOM JMS 分布式 架构
2. 怎么发起请求?
遵循JMS API发起请求。
3. 怎么将请求转化为符合协议的格式的?
不太清楚,猜想应该是二进制流。
4. 使用什么传输协议传输?
支持多种传输协议,例如socket、http等等。
5. 响应端基于什么机制来接收请求?
监听符合协议的端口。
6. 怎么将流还原为传输格式的?
同问题3。
7. 处理完毕后怎么回应?
遵循JMS API生成消息,并写入JMS Queue中。
基于JMS此类机制实现远程通讯的例子有Spring-Intergration、Mule、Lingo等等。
2.3.7 Mina
Mina 是Apache提供的通讯框架,在之前一直没有提到网络IO这块,之前提及的
框架或library基本都是基于BIO的,而Mina是采用NIO的, NIO在并发量增长时对
比BIO而言会有明显的性能提升,而java性能的提升,与其NIO这块与OS的紧密结
合是有不小的关系的。
1. 是基于什么协议实现的?
基于纯粹的Socket+NIO。
2. 怎么发起请求?
通过Mina提供的Client API。
3. 怎么将请求转化为符合协议的格式的?
Mina遵循java串行化机制对请求对象进行序列化。
4. 使用什么传输协议传输?
支持多种传输协议,例如socket、http等等。
5. 响应端基于什么机制来接收请求?
以NIO的方式监听协议端口。
6. 怎么将流还原为传输格式的?
遵循java串行化机制对请求对象进行反序列化。
MOM JMS 分布式 架构
7. 处理完毕后怎么回应?
遵循Mina API进行返回。
MINA是NIO方式的,因此支持异步调用是毫无悬念的。
2.3.8 EJB
EJB最突出的在于其分布式,EJB采用的是ORMI协议,和RMI协议是差不多的,
但EJB在分布式通讯的安全控制、transport pool、smart proxy等方面的突出使得其在分
布式领域是不可忽视的力量。
1. 是基于什么协议实现的?
基于ORMI协议。
2. 怎么发起请求?
EJB调用。
3. 怎么将请求转化为符合协议的格式的?
遵循java串行化机制对请求对象进行序列化。
4. 使用什么传输协议传输?
Socket。
5. 响应端基于什么机制来接收请求?
监听协议端口。
6. 怎么将流还原为传输格式的?
遵循java串行化机制对请求对象进行反序列化。
7. 处理完毕后怎么回应?
直接返回处理对象即可。
在之前的分布式服务框架系列的文章中对于jndi有误导的嫌疑,在这篇blog中也
顺带的提下jndi的机制,由于JNDI取决于具体的实现,在这里只能是讲解下jboss的
jndi的实现了。
在将对象实例绑定到jboss jnp server后,当远程端采用context.lookup()方式获取远
程对象实例并开始调用时,jboss jndi的实现方法是从jnp server上获取对象实例,将其
序列化回本地,然后在本地进行反序列化,之后在本地进行类调用。
通过这个机制,就可以知道了,本地其实是必须有绑定到jboss上的对象实例的
class的,否则反序列化的时候肯定就失败了,而远程通讯需要做到的是在远程执行某
动作,并获取到相应的结果,可见纯粹基于JNDI是无法实现远程通讯的。
MOM JMS 分布式 架构
但JNDI也是实现分布式服务框架一个很关键的技术点,因为可以通过它来实现透
明化的远端和本地调用,就像ejb,另外它也是个很好的隐藏实际部署机制(就像
datasource)等的方案。
MOM JMS 分布式 架构
3 Messaging
3.1 MOM
Message Oriented Middleware (MOM) is available from several vendors.
The MOM facilitates a loose coupling between producers and consumers and ensures
that message delivery is reliable (some include support for ACID properties, transactions,
etc.)
Messaging products implement a combination of the Mediator and Observer patterns.
The MOM acts as a Mediator between Colleagues, which in this case are the Subject(s)
and Observer(s) .
Messaging is asynchronous in nature but can also operate synchronously.
Producers always operate asynchronously - i.e. complete after message production.
Consumers can operate either:
synchronously (pull): Wait for message OR wait with timeout OR get next message if
available. N.B. the MOM client talks to the MOM server component via a network
connection. Polling the MOM server frequently could result in excessive network traffic
and/or MOM server load.
asynchronously (push): Register a message listener with the MOM, MOM pushes
messages as they arrive leaving the application free to do other things. N.B. not all clients
can support push, e.g. applet behind firewall.
The MOM can be used to implement a request/response mechanism (either
synchronously or asynchronously) but with the added benefits of scalability, reliability,
maintainability, etc.
3.2 Benefits of synchronous and asynchronous messaging
Synchronous messaging(client pull):
1. faster message acquisition - asynchronous may buffer messages.
2. client control - messages processed when client wants.
3. works with all MOM clients - some clients don t support push.
Asynchronous messaging(MOM push):
1. efficiency. MOM server pushes messages to client rather than the timed-poll of
synchronous. Timed-poll doesn t scale as it can lead to increased network traffic
and/or MOM server utilisation.
2. management. MOM automatically invokes register handler so the client is free to do
MOM JMS 分布式 架构
other things.
MOM JMS 分布式 架构
4 JMS基础概念
4.1 JMS规范
JAVA 消息服务(JMS)定义了Java 中访问消息中间件的接口。
JMS 只是接口,并没有给予实现,实现JMS 接口的消息中间件称为JMS Provider,
例如ActiveMQ。
4.2 术语
JMS Provider:实现JMS 接口的消息中间件;
PTP:Point to Point,即点对点的消息模型;
Pub/Sub:Publish/Subscribe,即发布/订阅的消息模型;
Queue:队列目标;
…… 此处隐藏:3507字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高中教育]电子线路高频非线性部分2.1
- [高中教育]中班美术活动——我的小手
- [高中教育]常用三极管参数大全
- [高中教育]计算机常见故障及解决办法
- [高中教育]风机基础环水平度控制方法探讨
- [高中教育]机械安全工程(专升本)阶段性作业3
- [高中教育]2009年安徽省高考语文考试说明刍议
- [高中教育]unit5 let's eat公开课教案设
- [高中教育]计算机网络原理课后习题答案
- [高中教育]2016-2022年中国新能源市场研究与投资
- [高中教育]2015-2020年中国会议行业市场评估及投
- [高中教育]经销商大会峰会主持人串词开场白
- [高中教育]2014新版北师大数学三年级上册小熊购物
- [高中教育]七年级第一学期体育与健康全套教案
- [高中教育]第三章:国际金融市场
- [高中教育]六年级下册数学单元测试-2.比例 北师大
- [高中教育]2016年上海海事大学法学院624刑法之《
- [高中教育]中国碳化钙产业竞争现状及未来五年投资
- [高中教育]网络时代,我们怎么玩
- [高中教育]圆锥曲线——高中数学基础知识与典型例
- 高集医院世界艾滋病宣传日活动方案
- 苏教版六年级英语上册期末试卷含答案
- 全民枪战生化英雄模式幽灵怎么玩 生化
- 灿烂的宋元文化一导学案
- 第2章货币资金与应收款项
- 北师大版八年级下册数学第三章《分式》
- 浅析高分子材料成型加工技术
- 华南理工大学2013年度共青团先进集体及
- 教师资格科目二小学教案模板(共合集)
- 工程扩建可研报告
- 中华人民共和国海事局2014年度招录公务
- 提高农村小学生作文能力的教学尝试
- 徒手心肺复苏术操作步骤
- 毛概试题库7-15章
- 2014-2015学年度(上)初中班主任工作计
- 企业驾驶员安全生产责任书
- 第07章 不等式测试题-2016年高考文科数
- 医疗器械经营企业工作程序
- 考研英语必背36篇_彩版_精华
- 初中9月13-15假期作业 (1)




