ActiveMQ消息队列介绍(转)
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控制台:
在这儿,我们介绍一下.net下客户端, 从NuGet安装,
Install-Package Apache.NMS.ActiveMQ
Apache.NMS.ActiveMQ客户端还有一些高级特性:
1. 消息组
2.ActiveMQ steams
3. Blog message
4.Failover
5.计划与延迟消息提交.
6 异步发送
由于篇幅有限,今天介绍到这儿, 希望对您软件开发有帮助. 您可能感兴趣的文章:
http://www.cnblogs.com/wintersun/p/3962302.html
ActiveMQ消息队列介绍(转)的更多相关文章
- ActiveMQ消息队列介绍
ActiveMQ是一个开源兼容Java Message Service (JMS) 1.1面向消息的中件间. 来自Apache Software Foundation. ActiveMQ提供松耦合 ...
- 消息队列介绍和SpringBoot2.x整合RockketMQ、ActiveMQ 9节课
1.JMS介绍和使用场景及基础编程模型 简介:讲解什么是小写队列,JMS的基础知识和使用场景 1.什么是JMS: Java消息服务(Java Message Service),Java ...
- JAVA的设计模式之观察者模式----结合ActiveMQ消息队列说明
1----------------------观察者模式------------------------------ 观察者模式:定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的 ...
- ActiveMQ基础教程(四):.net core集成使用ActiveMQ消息队列
接上一篇:ActiveMQ基础教程(三):C#连接使用ActiveMQ消息队列 这里继续说下.net core集成使用ActiveMQ.因为代码比较多,所以放到gitee上:https://gitee ...
- Net平台下的消息队列介绍
Net平台下的消息队列介绍 本系列主要记录最近学习消息队列的一些心得体会,打算形成一个系列文档.开篇主要介绍一下.Net平台下一些主流的消息队列框架. RabbitMQ:http:// ...
- activemq消息队列的使用及应用docker部署常见问题及注意事项
activemq消息队列的使用及应用docker部署常见问题及注意事项 docker用https://hub.docker.com/r/rmohr/activemq/配置在/data/docker/a ...
- 消息队列介绍、RabbitMQ&Redis的重点介绍与简单应用
消息队列介绍.RabbitMQ&Redis的重点介绍与简单应用 消息队列介绍.RabbitMQ.Redis 一.什么是消息队列 这个概念我们百度Google能查到一大堆文章,所以我就通俗的讲下 ...
- 进击的Python【第十一章】:消息队列介绍、RabbitMQ&Redis的重点介绍与简单应用
消息队列介绍.RabbitMQ.Redis 一.什么是消息队列 这个概念我们百度Google能查到一大堆文章,所以我就通俗的讲下消息队列的基本思路. 还记得原来写过Queue的文章,不管是线程queu ...
- ActiveMQ消息队列从入门到实践(4)—使用Spring JMS收发消息
Java消息服务(Java Message Service ,JMS)是一个Java标准,定义了使用消息代理的通用API .在JMS出现之前,每个消息代理都有私有的API,这就使得不同代理之间的消息代 ...
随机推荐
- Python学习之路——类
类: 类是将抽象的实物进行的划分. 在现实世界中如果我们将: 人类包含:男人.女人.孩子.老人等动物类包含:小猫.小狗.小兔子等 在代码世界中我也可以分类,例如将相同功能的代码放到一起,这就是分类. ...
- mysql里的sql函数
仅作为自己忘记时的查询 时间 now() 返回当前年-月-日 时:分:秒格式的时间 UNIX_TIMESTAMP() 当前的uninx时间戳 date_format(date,格式) date是年月日 ...
- 让Qt支持Win7的Aero和毛玻璃效果
Qt5增加了许多特性,其中 Qt Windows Extras 模块就增加了对Win7 Aero 效果的支持. 官网的介绍如下: Qt Windows Extras provide classes a ...
- SSL/TLS原理详解
本文大部分整理自网络,相关文章请见文后参考. 关于证书授权中心CA以及数字证书等概念,请移步 OpenSSL 与 SSL 数字证书概念贴 ,如果你想快速自建CA然后签发数字证书,请移步 基于OpenS ...
- Qt编程中,Ui文件如何被利用
这两天跟着班级辅导,总有学生感到很疑惑,用ui designer设计出来的ui文件是如何使用的,下面我从一个例子来说明下,希望能对有这样疑惑的同学有帮助. 事实上,现在有了继承设计工具qtcreato ...
- 【Java】:多线程下载
import java.io.InputStream; import java.io.RandomAccessFile; import java.net.URL; import java.net.UR ...
- Linux 终端部分重要快捷键
tab 自动补全文件名,目录名或命令名ctrl+c 强行终止当前程序Ctrl+d 键盘输入结束或退出终端 Ctrl+s 暂定当前程序,暂停后按下任意键恢复运行 Ctrl+z 将当前程序放到后台运行 ...
- 一个包含所有c++的头文件的头文件
#include <bits/stdc++.h> 做CF看见别人用这个函数,然后就能直接用vector,set,string那些函数了,摸不着头脑,感觉特神奇就百度了一下,才发现这个是C+ ...
- Java 输出通过 InetAddress 获得的 IP 地址数组
使用 InetAddress 获取 IP 地址会得到一个 byte 数组 如果你直接输出这个数组,你会发现 IP 地址中的某些位变成了负数 比如 61.135.169.105 会输出成 61.-121 ...
- C#构架之基础学习----动态添加窗体和 控件
仿照窗体应用程序编写: 任务一:生成一个Form类的窗体对象frm using System.Windows.Forms; //using指令使用Form对象创建所需的命名空间 //如 ...