ActiveMQ是一个开源兼容Java Message Service (JMS) 1.1面向消息的中件间. 来自Apache Software Foundation. ActiveMQ提供松耦合的应用程序架构. 先来看两个应用通过RPC通讯的紧耦合:

通过面向消息的中件间, 架构演变为:

我们看到应用程序1发送message到中件间, 应用程序2从中件间接收message. ActiveMQ提供了灵活的应用程序架构.

ActiveMQ消息存储也是FIFO:

什么时候使用ActiveMQ:

1. 异构应用

ActiveMQ虽然为是JAVA平台的, 但它有很多客户端.C/C++, .NET, Perl, PHP, Python, Ruby, 同时ActiveMQ也是跨平台的.

2.替代RPC的解决方案

应用程序广泛地使用RPC风格调用实现同步. 很多C/S应用程序使用RPC包括ATMs, 大多数的web应用程序,信息卡系统,POS机等. 如果同步出现down机情况, 用户体验相当不好. 使用异步消息, 更多的消息接收者能更容易增加消息, 支持并发并且处理得更快. 这时,应用程序已经被解耦.

3.使得应用之间松耦合.

前面已经提到了, 紧耦合有很多问题,特别是分布式情况下. 松耦合架构, 使得应用程序很灵活,, 也可以引导出event-driven architecture (EDA)

4.事件驱动构架的基石

解耦,异步风格的架构通过调优允许Broker伸缩来更进一步来处理相当多的客户端, 更多是内存分配,等等 (称为垂直可伸缩性), 而不是仅依靠增加Broker节点的数目去处理很多更多客户端(称为水平可伸缩性) 的能力。

5.提高应用伸缩性

许多应用程序利用事件驱动构架为了获取更多的伸缩性, 例如电子商务, 政府, 制造业, 在线游戏. 这也是SOA的基石.

安装

可以官方网站下载安装二进制包, 在windows上解包,可以到apache-activemq-5.10.0\bin\activemq.bat运行ActiveMQ程序, 而在Linux上的apache-activemq-5.10.0-bin.tar.gz
wget方式下载, tar zxvf activemq-x.x.x.tar.gz解包到一个目录就可以使用了.

ActiveMQ可能需要以下端口1099(JMX),61616(默认的TransportConnector)

windows查看监听端口:

netstat -an|find "61616"

Linux系统:

netstat -an|grep 61616

运行后可以打开web控制台:

http://localhost:8161/admin

在这儿,我们介绍一下.net下客户端, 从NuGet安装,

Install-Package Apache.NMS.ActiveMQ

Apache.NMS.ActiveMQ客户端还有一些高级特性:

1. 消息组

2.ActiveMQ steams

3. Blog message

4.Failover

5.计划与延迟消息提交.

6 异步发送

由于篇幅有限,今天介绍到这儿, 希望对您软件开发有帮助. 您可能感兴趣的文章:

集中队列的模式

Database数据库切片模式

http://www.cnblogs.com/wintersun/p/3962302.html

ActiveMQ消息队列介绍(转)相关推荐

  1. 消息队列及常见消息队列介绍

    转载 消息队列及常见消息队列介绍 一.消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为: 当不需要立即获得结果,但是并发量又需要 ...

  2. 消息队列属性及常见消息队列介绍

    什么是消息队列? 消息队列是在消息的传输过程中保存消息的容器,用于接收消息并以文件的方式存储,一个队列的消息可以同时被多个消息消费者消费.分布式消息服务DMS则是分布式的队列系统,消息队列中的消息分布 ...

  3. SpringBoot集成ActiveMq消息队列实现即时和延迟处理

    原文链接:https://blog.csdn.net/My_harbor/article/details/81328727 一.安装ActiveMq 具体安装步骤:自己谷歌去 二.新建springbo ...

  4. 从mq服务器中获取消息命令,MQ服务消息队列介绍

    MQ服务消息队列介绍 资源简介MQ服务器端和客户端通信浅谈 1. WebSphere MQ的服务端的安装和配置 (1)创建名为venus.queue.manager的默认队列管理器. 在DOS窗口命令 ...

  5. 各个MQ消息队列介绍以及区别比较(RabbitMq ActiveMQ、ZeroMQ、Kafka)

    首先,MQ其实就是消息队列,队列我们可以理解为管道,以管道的方式做消息传递. 在本篇博客中,我们先来简单学习一下几种MQ,之后对他们进行对比. ActiveMQ.RabbitMQ.kafka.Rock ...

  6. ActiveMQ消息队列安装和使用

    ActiveMQ ActiveMQ介绍 什么是ActiveMQ ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规 ...

  7. SpringBoot整合activeMQ消息队列手动签收(Session.CLIENT_ACKNOWLEDGE)为什么失效啊?

    今天在家隔离办公,不太忙,然后就琢磨起来消息队列activeMQ的消息事务来解决分布式事务,但是奈何在SpringBoot整合activeMQ时,其消费者手动签收消息时出现了问题-->当acti ...

  8. ActiveMQ消息队列的使用及应用

    目录:  一:JMQ的两种消息模式1.1:点对点的消息模式1.2:订阅模式 二:点对点的实现代码2.1:点对点的发送端2.2:点对点的接收端 三:订阅/发布模式的实现代码3.1:订阅模式的发送端3.2 ...

  9. activeMQ消息队列(xml方式)

    一.项目搭建(spring+activeMQ环境) 导包: <!-- 消息队列 MQ --><dependency><groupId>org.apache.acti ...

最新文章

  1. 经典C语言程序100例之三四
  2. std::vectorChannel2* m_allChannels;容器,以及如何根据channelid的意义
  3. Array flat
  4. 「三分钟系列04」3分钟看懂Python黑魔法之__repr__和__str__
  5. VC++运行时静默安装
  6. 49. 精简 JavaScript(10)
  7. Dreamweaver网页设计与制作100例:用DIV+CSS技术设计的书法主题网站(web前端网页制作课作业)...
  8. 大唐双龙传JAVA版小游戏_大唐双龙传_JAVA游戏免费版下载_7723手机游戏[www.7723.cn]...
  9. 怎么修改背景图片大小的HTML代码,网页背景图片的大小的代码是什么
  10. 关于计算机的科学思维方法有哪些特点,数学一种科学思维方法有哪些
  11. neu计算机硕士,BC省可直接移民的硕士专业-NEU-Align计算机硕士
  12. R语言并行计算beta-NTI值
  13. SSH所选用户密钥为在远程主机上注册。请再试一次
  14. 初级计算机基础知识教程,计算机基础知识(初中级教程)
  15. JAVA新生入学报到管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
  16. [附源码]计算机毕业设计JAVA校园征兵及退役复原管理系统
  17. just for save
  18. 终端中显示git分支名称的方法
  19. inner join 和outer join的区别
  20. python环境搭建.

热门文章

  1. python读写excel模块pandas_python3 基于pandas读写Excel
  2. android 移除泛型中元素_Android 代码混淆 混淆方案
  3. bazel 链接第三方动态库_C/C++编程知识:Linux 动态库相关知识整理
  4. java集群解析文件_java相关:springboot整合redis集群过程解析
  5. 江苏省2021年高考成绩查询有分数吗,2021年江苏省高考成绩查询入口
  6. python 脚本所在目录,Python 获取当前所在目录的方法详解
  7. 地图选择器怎么用_简易数据分析 15 | Web Scraper 高级用法——CSS 选择器的使用....
  8. tomcat实现https双向认证(在win10系统使用jdk1.8自带工具keytool)
  9. 十八道海量数据处理面试题与相关知识讲解
  10. php计算日期函数,php日期处理函数(计算时间差,转换时间戳日期)