ActiveMQ简介:
MQ(Message Queue)
应用场景:
a.异步处理(用户注册)
b.应用解耦(订单扣库存)
c.流量削锋(秒杀业务)
JMS消息模型 Java Message Service
A.P2P (点对点模式)
消息队列Queue 发送者Sender 接受者Receiver
- 1.每个消息只有一个消费者(消息一旦被消费,消息就不在消息队列中)
- 2.发送者和接受者之间在时间上没有依赖性,也就是说当发送者发送了消息后,不管接受者
有没有运行,他不会影响到消息发送到队列 - 3.接受者在成功接受到消息之后需要向队列应答成功
** 如果希望发送的每个消息都会成功处理,要使用P2P模式
B.Publish / Subscribe (发布订阅模式)
主题(Topic) 发布者(Publisher) 订阅者(Subscriber)
- 1.每个主题可以有多个订阅者
- 2.发布者和订阅者有时间上的依赖性。针对某个主题的订阅者,他必须创建一个订阅后,才能
收到消费者发布者的消息 - 3.为了消费消息,订阅者必须保持运行的状态
消息持久化订阅
ActiveMQ Topic消息失败重发
1.JMS消息确认机制
session接口中定义的几个常量
- AUTO_ACKNOWLEDGE=1 自动确认
- CLIENT_ACKNOWLEDGE=2 客户端手动确认
- DUPS_OK_ACKNOWLEDGE=3 自动批量确认
- SESSION_TRANSACTED =0 事务提交并确认
1.下载
下载地址: http://activemq.apache.org/components/classic/download/
2.上传到自己的服务器特定目录并解压
[root@iZbp18nyz28va2zwadft2qZ opt]# tar xzf apache-activemq-5.15.12-bin.tar.gz
切换到bin目录
[root@iZbp18nyz28va2zwadft2qZ bin]# ll
total 156
-rwxr-xr-x 1 root root 21535 Mar 13 19:15 activemq
-rwxr-xr-x 1 root root 6189 Mar 13 19:15 activemq-diag
-rw-r--r-- 1 root root 16405 Mar 13 18:56 activemq.jar
-rw-r--r-- 1 root root 5607 Mar 13 19:15 env
drwxr-xr-x 2 root root 4096 Mar 31 22:55 linux-x86-32
drwxr-xr-x 2 root root 4096 Mar 31 22:55 linux-x86-64
drwxr-xr-x 2 root root 4096 Mar 31 22:55 macosx
-rw-r--r-- 1 root root 83820 Mar 13 18:15 wrapper.jar
3.启动ActiveMQ
首先你把防火墙端口打开8161(web管理端端口) 61616(tcp服务端口)否则连不上哦
[root@iZbp18nyz28va2zwadft2qZ bin]# ./activemq start
INFO: Loading '/opt/apache-activemq-5.15.12//bin/env'
INFO: Using java '/usr/local/java/jdk1.8.0_231/bin/java'
INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details
INFO: pidfile created : '/opt/apache-activemq-5.15.12//data/activemq.pid' (pid '953')
++日常操作++
./activemq start 启动
./activemq stop 停止
./activemq status 查看状态
4.登陆web管理页面
如 服务器IP 为 110.110.11.11
那么登录地址为 http://110.110.11.11:8161/admin
默认帐号密码为admin