开源的消息系统有很多,包括Apache的ActiveMQ,Apache的Kafka,RabbitMQ、memcacheQ等。

下面来介绍ActivateMQ来介绍消息系统的使用和集群架构。

ActivateMQ是Apache所提供的一个开源的消息系统,完全采用Java实现,因此它能够很好的支持J2EE提出JMS规范。JMS是一组Java应用程序接口,他提供消息的创建、发送、接收、读取等一系列服务。它与java数据库的统与厂商无关的一种一访问接口JDBC类似,它是一种与厂商无关的API,能够与不同厂家的消息组件很好的进行通信。

JMS支持的消息类型包括简单文本(TextManger),可序列化的对象(ObjectMessage)、键值对(MapMessage)、字节流(BytesMessage)、流(StreamMessage),以及无有效负载的消息(Message)等。消息的发送时异步的,因此,消息的发送者发送完消息之后,不粗要等待消息接受者立即响应,这样便提高了分布式系统协作的效率。

点对点的消息
点对点的消息是基于队列的,消息产生着发送消息队列,消息消费者从队列中接收消息,队列的存在使消息的异步成为可能,P2P模型在点对点的情况下进行消息传递时使用。

发布订阅的的消息
发布/订阅模型定义了如何向一个内容节点发布和订阅消息,这个内容节点成为topic(主题),主题可以认为是消息传递的中介,消息发布者将消息发布到某个主题,而消息订阅者从主题订阅消息。主题使得消息的订阅者与消息发布者相互保持独立,不需要进行接触即可保证消息的传递,发布/订阅模型在消息的一对多广播时采用。

对于发布/订阅消息传输模型来说,消息的发布者需要将消息投递给topic,而消息的订阅者则需要在响应的topic进行注册,以便接收响应topic的消息。与点对点消息传输模型不同的是,消息发布者的消息将被自动发送给所有订阅了该topic的消息。与点对点消息传递模型不同的是,消息发布者的消息将自动发送给所有订阅了该topic的消息订阅者。当消息订阅者某段时间由于某种原因断开了与消息发送者的连接时,这个时段内的消息将会丢失,除非将消息的订阅模式设置为持久订阅,这时消息的发布者将会为消息的订阅者保留这段时间所产生的消息。当消息的订阅者重新连接消息发布者时,消息订阅者仍然可以获得这部分消息,而不至于丢失这部分消息。

消息系统(ActiveMQ)相关推荐

  1. java kafka分布式_Kafka分布式消息系统

    1.简介 Kafka是一个分布式消息系统,使用Scala语言进行编写,具有高水平扩展以及高吞吐量特性. 目前流行的消息队列主要有三种:ActiveMQ.RabbitMQ.Kafka ActiveMQ. ...

  2. Apache Kafka:下一代分布式消息系统

    简介 Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交 ...

  3. 消息中间体activeMQ

    一.简介 1.什么是消息中间体 消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成.通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信. ...

  4. 大数据开发hadoop核心的分布式消息系统:Apache Kafka 你知道吗

    简介 Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交 ...

  5. kafka redis vs 发布订阅_发布订阅的消息系统 Kafka的深度解析

    背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统.主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能 高吞吐 ...

  6. CentOS源码安装消息队列ActiveMQ

    消息队列ActiveMQ介绍 JMS全称:Java Message Service中文:Java消息服务.JMS是java的一套API标准,最初的目的是为了是应用程序能够访问现有的MOM系统(MOM是 ...

  7. JBoss EAP 7消息系统

    JBoss EAP 7消息服务 JBoss EAP 6的消息系统是通过HornetQ实现,这是一个JBoss的社区项目.后来HornetQ捐献给了Apache ActiveMQ项目,HornetQ社区 ...

  8. JMS(Java消息服务)(Activemq简单介绍)

    是什么? JMS(java消息服务)是规范,它定义了一些规则,一些接口.具体实现由各种做这个产品的厂家或开源组织来实现. 为什么? 在JMS还没有诞生前,每个企业都会有自己的一套内部消息系统,比如项目 ...

  9. Kafka:用于日志处理的分布式消息系统

    文章目录 摘要 常用术语 关键词 1. 简介 2. 相关工作 3. Kafka架构和设计原则 3.1 单分区的效率 3.1.1 简单的存储 3.1.2 高效的传输 3.1.3 无状态代理 3.2 分布 ...

最新文章

  1. 《电路分析导论(原书第12版)》一3.12 热敏电阻
  2. 用Xamarin.Forms创建移动应用程序
  3. python做excel表格柱状图_用python处理excel数据(八)实现excel表中柱状图功能
  4. LAMP架构(八)限定某个目录禁止解析、 限制user_agent、php相关配置
  5. python广度优先算法最短路径_最短路径问题的Dijkstra算法 -python
  6. 【写博客常用】美赛什么时候出成绩
  7. maven 插件 aven-assembly--plugin的使用
  8. 无盘服务器文件管理,云图管家文档图纸管理软件
  9. Go语言国际电子表格文档格式标准实践
  10. 百万数据使用子查询进行SQL优化
  11. kali wifi不可用_Kali Linux系统解决无线网卡无法连接WIFI模块教程:
  12. 面经_OPPO研究院_数据科学研究员实习岗
  13. textarea文本不换行的问题
  14. bootstrap自采样再理解
  15. VSM测试粉末样品制样
  16. Codeforces Global Round 13 A-E题解
  17. 互联网金融:十大信息安全风险与十大最佳安全实践(转载)
  18. Azure Kinect获取相机内参
  19. 【精简版】计算机原理
  20. 抖音高贵气质的签名_抖音励志霸气十足的个性签名,有气质有内涵,很有格调!...

热门文章

  1. 2020年最全的自动化测试面试题及答案--看完后吊打面试官!自动化测试是什么?自动化测试学什么?
  2. pytorch中的神经网络模块基础类——torch.nn.Module
  3. 中学信息奥赛course
  4. 9139 位艺人在 Python 面前不值一提 # Python 爬虫小课 5-9
  5. mac下生成.icns图标
  6. HTML代码格式化工具
  7. 教你这么理解 『假脱机打印机系统』
  8. Praat脚本-006 | 批量修改删除复制某一层
  9. 职称计算机考试演示,2015职称计算机考试模拟题:演示文稿的放映、打包和打印...
  10. python利器官网-python利器app