JMS消息服务模型
JMS--仅仅是一种规范,一种接口规约,一种编程模型。类似的JPA,JSR等
场景:
1.多个系统之间交互,实现可以采取RPC,但是交互复杂,基本就是点对点的方式
2.其实交互就是消息,而JMS就是消息规范,支持事务机制(保证安全)--不就是类似于RDBMS吗,存储消息,转存发送
3.大家想想队列的机制(集合存储----队列存储---消息存储---消息服务器---数据库服务器----分布式存储------分布式文件系统)
解决办法:
多个系统采用消息交互,形成CS模型交互(集中式结构),当然还有其他的....
名词:
Message 消息
PayLoad 消息负载
点对点-----单一消费者(队列)
主题-------订阅者模型
异构-------接收转存然后多线程处理,支持失败策略,重试策略,持久化策略
优势:相比WS,RPC由于JMS具有事务机制,类似于数据库机制,安全性更好,所以又专门的MOM中间件比如MQ(个人目前使用中)
策略:
消息存储,不会丢失,支持水平扩展也就是JMS服务器的集群(DB集群,Server集群,WWW集群)
图示:

协议格式:(一下都是基于文本的协议)
HTTP:

私有的协议:

本质:就是格式不一致,HTTP大家公认的,都知道代表什么意思,而私有协议没有阅读协议手册,你根本不知道什么意思
打个比喻,二战时的电报就是一种协议,没有密码本你根本不知道是啥意思
加密:格式置换
JMS消息服务模型的更多相关文章
- IBM MQ消息中间件jms消息中RHF2消息头的处理
公司的技术平台在和某券商对接IBM MQ消息中间件时,发送到MQ中的消息多出了消息头信息:RHF2,造成消息的接收处理不正常.在此记录此问题的处理方式. 在IBM MQ中提供了一个参数 targetC ...
- Intellij IDEA 创建消息驱动Bean - 接收JMS消息
除了同步方式的调用之外,有时还需要异步调用,用来处理不需要即时处理的信息,例如短信.邮件等,这需要使用EJB中的独特组件——消息驱动Bean(Message-Driven Bean,MDB),它提供了 ...
- JMS开发(三):JMS消息的确认方式
这里单独列出来我也是觉得有点必要的,毕竟JMS总体知识点并不多,这点可能被很多人所忽视. 首选定义:消息的确认是指消息接受者接到消息,并做出了对应的处理之后,它将回送一个确认消息. 对于非事务性会话, ...
- JMS - 消息选择器
消息选择器 将消息选择器应用在消费者,消费者就只会接受能通过过滤器的消息.消息选择器是基于 SQL-92 条件表达式语法的一个子集.消息选择器由三个元素组成:标识符.常量和标记运算符. 标识符 标识符 ...
- JMS消息传输机制
JMS消息传送模型: 消息传送机制, 是基于拉取(pull)或者轮询(polling)的方式. JMS具备两种"消息传送模型": P2P和Pub/sub. (1) P2P:点对点 ...
- JavaEE(7) - JMS消息事务和异常
1. 使用事务性Session为消息增加事务(NetBeans创建java project: TxSession) MessageSender.java package lee; import jav ...
- JavaEE(6) - JMS消息选择和查看
1. JMS消息的类型.消息头和消息属性 消息类型: StreamMessage MapMessage TextMessage ObjectMessage BytesMessage JMS消息中的消息 ...
- 消息中间件--ActiveMQ&JMS消息服务
### 消息中间件 ### ---------- **消息中间件** 1. 消息中间件的概述 2. 消息中间件的应用场景 * 异步处理 * 应用解耦 * 流量削峰 * 消息通信 --------- ...
- Oozie 生成JMS消息并向 JMS Provider发送消息过程分析
一,涉及到的工程 从官网下载源码,mvn 编译成 Eclipse工程文件:
随机推荐
- 用JavaScript做一个小小设计
这个项目是我无聊时完成的,参阅过很多大神的示例,其实方法并不难主要是js和css样式的设计,我发现自己还有很多的js代码写不出来更加不用提看的明白了,(PS吐槽一下:革命尚未成功,同志还需努力啊!)此 ...
- JSP 文件上传
JSP 文件上传 JSP可以通过HTML的form表单上传文件到服务器. 文件类型可以是文本文件.二进制文件.图像文件等其他任何文档. 创建文件上传表单 接下来我们使用HTML标签来创建文件上传表单, ...
- bzoj-3195-状压dp
3195: [Jxoi2012]奇怪的道路 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 600 Solved: 395[Submit][Statu ...
- SublimeText实用快捷键
Markdown Ctrl+Alt+O: Preview Markup in Browser Ctrl+Alt+X: Export Markup as HTML Ctrl+Alt+C: Copy Ma ...
- docker部署mysql
1. 下载 [root@localhost my.Shells]# ./dockerStart.sh start or stop start Redirecting to /bin/systemctl ...
- 如何创建管理员权限的CMD命令提示符窗口
最近在使用netstat -anob命令时提示 请求的操作需要提升. 总结了几种创建管理员权限的CMD命令行的方法. 创建临时管理员权限的CMD Win8系统: 按下windows徽标,直接输入cmd ...
- New Concept English Two 33 91
$课文89 口误 981. People will do anything to see a free show -- even if it is a bad one. 人们总要想尽办法看不花钱的演出 ...
- nginx详细应用
一.nginx的基本功能 基本Http服务,可以作为Http代理服务器和反向代理服务器,支持通过缓存加速访问,可以完成简单的负载均衡和容错,支持包过滤功能,支持SSL 高级Http服务,可以进行自定义 ...
- Django 之 用redis存储session
方案I: 1. 安装 django-redis liuqian@ubuntu:~$ pip install django-redis dango-redis 官方文档:http://niwinz.gi ...
- pandas 之 concat
本文摘自:http://pandas.pydata.org/pandas-docs/stable/merging.html 前提: ide: liuqian@ubuntu:~$ ipython 准备: ...