ActiveMQ学习教程/1.简要介绍与安装
ActiveMQ学习教程(一)——简要介绍与安装
一。名词:
1.JMS:即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信【提供产生-发送-接收消息接口】。Java消息服务是一个与具体平台无关的API,绝大多数MOM(消息中间件)提供商都对JMS提供支持。
2.MOM:Message Orient middleware消息中间件
3.MQ:Message Queue消息队列
3.ActiveMQ:Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现
附:消息中间件的用途和优点
【1】. 将数据从一个应用程序传送到另一个应用程序,或者从软件的一个模块传送到另外一个模块;
【2】. 负责建立网络通信的通道,进行数据的可靠传送。
【3】. 保证数据不重发,不丢失
【4】. 能够实现跨平台操作,能够为不同操作系统上的软件集成技工数据传送服务
应用ActiveMQ场景:
【1】多个项目之间集成
(1) 跨平台
(2) 多语言
(3) 多项目
【2】降低系统间模块的耦合度,解耦
(1) 软件扩展性
【3】系统前后端隔离
(1) 前后端隔离,屏蔽高安全区
二。体系架构:
1.JMS提供者
连接面向消息中间件的,JMS接口的一个实现。提供者可以是Java平台的JMS实现,也可以是非Java平台的面向消息中间件的适配器。
2.JMS客户
生产或消费基于消息的Java的应用程序或对象。
3.JMS生产者
创建并发送消息的JMS客户。
4.JMS消费者
接收消息的JMS客户。
5.JMS消息
包括可以在JMS客户之间传递的数据的对象
6.JMS队列
一个容纳那些被发送的等待阅读的消息的区域。与队列名字所暗示的意思不同,消息的接受顺序并不一定要与消息的发送顺序相同。一旦一个消息被阅读,该消息将被从队列中移走。
7JMS主题
一种支持发送消息给多个订阅者的机制。
三。支持的模型
Java消息服务应用程序结构支持两种模型:
1.点对点或队列模型
2.发布者/订阅者模型
四。ActiveMQ下载地址
http://activemq.apache.org/download.html //可下载最新版本
解压apache-activemq-5.15.2,文件目录说明:
==》启动MQ服务器:
根据操作系统不同,进入相应win64/win32位目录,双击activemq.bat启动MQ。控制台部分显示:
ActiveMQ默认启动时,启动了内置的jetty服务器,提供一个用于监控ActiveMQ的admin应用
进入ActionMQ服务监控地址:浏览器输入http://127.0.0.1:8161/admin
登录成功,页面显示:
重点关注菜单栏:
【1】Queues:队列
【2】Topics
==》停止服务器,只需要按着Ctrl+Shift+C,之后输入y即可
参考学习文章:
https://www.toutiao.com/a6345805464718409986/?tt_from=weixin&utm_campaign=client_share&app=news_article&utm_source=weixin&iid=18292470304&utm_medium=toutiao_android&wxshare_count=1
http://blog.csdn.net/xh16319/article/details/12142249
http://blog.csdn.net/jiuqiyuliang/article/details/47160259
最新文章
- MySQL问题记录--python插入中文至MySQL提示SQLErroor:1366错误
- Codeforces Alpha Round #20 (Codeforces format) C. Dijkstra?(裸的dijkstra)
- [原创]Matlab获取当前时间信息
- SSH: 本地.ssh目录下的公钥文件最好删掉
- NSNumber,NSValue和NSData
- xcode使用
- xcode7.3 升级 xcode8.0 后权限设置问题(升级xcode 8.0 后构建版本不显示问题)
- android 开源 OCR 项目 及手写识别
- Centos使用dd命令制作U盘启动盘 wodim刻录光盘
- 1.Tsung介绍(翻译)
- (七十三)iOS本地推送通知的实现
- Mac下如何用SSH连接远程Linux服务器及Linux一些常用操作命令,更新中.....
- es6 - 一共有 6 种声明变量的方法(var, function, let, const, class, import)
- MySQL导入导出实践
- 14.vue路由&;脚手架
- go channel例子
- eclipse 重装了tomcat后配置路径
- 使用Microsoft Unity进行日志记录
- Mantle 初步使用
- 为什么委托的减法(- 或 -=)可能出现非预期的结果?(Delegate Subtraction Has Unpredictable Result)