JSM 学习(一)
JMS 支持两类消息传送模型:点对点模型和发布/订阅模型。又称这些消息传送模型为消息传送域。点对点模型和发布订阅模型分别缩写为p2p和Pub/Sub。
发布订阅模型用于一对多消息广播,点对点模型用于一对一的消息传送。

点对点消息传送模型允许jms客户端通过队列来同步和异步发送、接受消息,点对点模型中,消息生产者成为发送者(sender),而消息消费者成为接受者(receiver)。
点对点模型是一个基于拉取或者轮训的消息传送模型,是主动从队列中请求消息,而不是自动的将消息推送到客户端。
点对点模型的特点是:
1.发送到队列的消息被某一个接收者接收,即使有多个接收者侦听同一个消息。
2.点对点支持异步“即发即弃”
3.支持同步请求/应答消息传送方式
4.点对点消息传送模型比发布/订阅模型具有更强的耦合性,发送者通常知道消息将被如何使用,而且知道谁将接受该消息
5.点对点模型支持负载均衡,它允许多个接收者侦听同一个队列,并且以此来分配负载
6.队列浏览器允许客户端在消费其他消息之前查看队列内容
发布/订阅中消息被发布到一个叫做主题的虚拟通道中,消息生产者成为发布者(publisher),消息消费者被成为订阅者(subscriber)
使用发布/订阅模型发布一个主题消息,能够被多个订阅者接受,有时候也被成为广播消息,每个接收者接收到的是消息的一个副本,发布订阅是基于推送的模型,其中自动的向消费者广播,无需轮训或者请求查找主题
发布订阅模型的特点:
1.发布订阅模型比P2P模型的去耦能力更强
2.非持久订阅者,他们只是在主动侦听主题时才能接收消息
3.持久订阅者将接收发布每个消息的副本,即便发布消息时处于离线状态.
4.另外还有动态持久订阅者和受管的之久订阅者
JSM 学习(一)的更多相关文章
- Hadoop日记Day17---计数器、map规约、分区学习
一.Hadoop计数器 1.1 什么是Hadoop计数器 Haoop是处理大数据的,不适合处理小数据,有些大数据问题是小数据程序是处理不了的,他是一个高延迟的任务,有时处理一个大数据需要花费好几个小时 ...
- Android开发学习总结(六)—— APK反编译
学习和开发Android应用有一段时间了,今天写一篇博客总结一下Android的apk文件反编译.我们知道,Android应用开发完成之后,我们最终都会将应用打包成一个apk文件,然后让用户通过手机或 ...
- IM通信协议逆向分析、Wireshark自定义数据包格式解析插件编程学习
相关学习资料 http://hi.baidu.com/hucyuansheng/item/bf2bfddefd1ee70ad68ed04d http://en.wikipedia.org/wiki/I ...
- Android开发学习总结(六)—— APK反编译(转)
学习和开发Android应用有一段时间了,今天写一篇博客总结一下Android的apk文件反编译.我们知道,Android应用开发完成之后,我们最终都会将应用打包成一个apk文件,然后让用户通过手机或 ...
- JavaEE学习之Spring声明式事务
一.引言 上一篇文章,学习了AOP相关知识,并做了一个简单的Hello world.本文在上篇文章的基础上,进一步学习下Spring的声明式事务. 二.相关概念 1. 事务(Transaction)— ...
- Flask学习之一 hello world
本人电脑环境: 系统:linux
- ThreeJS学习6_几何体相关(BufferGeometry)
ThreeJS学习6_几何体相关(BufferGeometry) 使用 BufferGeometry 可以有效减少向 GPU 传输几何体相关数据所需的开销 可以自定义顶点位置, 面片索引, 法向量, ...
- # ThreeJS学习7_裁剪平面(clipping)
ThreeJS学习7_裁剪平面(clipping) 目录 ThreeJS学习7_裁剪平面(clipping) 1. 裁剪平面简介 2. 全局裁剪和局部裁剪 3. 被多个裁剪平面裁剪后 4. 被多个裁剪 ...
- 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...
随机推荐
- hdu 3899(树形dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3899 思路:num[u]表示u以及u的子树的队伍数的总和,dist[u]表示u到根节点的距离,dp[u ...
- iOS开发之--当遇到tableView整体上移时的解决方案
方案一在使用了navigationController后,当界面进行跳转往返后,时而会出现tableView上移的情况,通常会自动上移64个像素,那么这种情况,我们可以关闭tableView的自动适配 ...
- 阿里云CentOS6.8云服务器配置安全组规则
前提:已经购买阿里云服务器,域名解析也完成了 需要对安全组规则进行配置,才能进行访问 1.进入阿里云首页https://www.aliyun.com/,如下图 2.进入控制台首页,如下图 3.在上图页 ...
- css位置相关元素
1.border 是边框的意思,它可以设置粗细,多少像素,输入样式,solid是实线的意思,可以直接选择color边框的颜色. 也可以设置某个方向的边框,例如 设置一个div,让它的高和宽都为 ...
- Hadoop中正确地添加和移除节点
正确地添加和移除节点 添加节点 克隆 克隆一台全新的Linux(如有IP冲突,可右击VMware右下角网络图标断开连接) 打开/etc/hostname修改主机名 打开/etc/sysconfig/n ...
- java面试基础题------》抽象类和接口有什么异同
划重点!!!! 1.抽象类(abstract class)和接口(interface)有什么异同? 相同点 * 都不能被直接实例化,都可以通过继承实现其抽象方法. * 都是面向抽象编程的技术基础,实现 ...
- smp,numa,mpp,umam,olap,dss,oltp,greenplum,presto
SMP.NUMA.MPP体系结构介绍 从系统架构来看,目前的商用服务器大体可以分为三类,即对称多处理器结构 (SMP : Symmetric Multi-Processor) ,非一致存储访问结构 ( ...
- flask_sqlaichemy的json字段
https://segmentfault.com/q/1010000009304667/a-1020000009404847
- jquery.dragsort.js 实现拖拽过程遇到的问题
.在IE下第一次拖动的时候,被拖动的li元素会不显示,查了很多资料发现是因为在IE中定位出了问题,li标签还在,只是位置计算出错.解决的办法是在li的css样式中position设置为relative ...
- vue中回车键登录
created() { let that = this; document.onkeypress = function(e) { var keycode = document.all ? event. ...