一、消息中间件的应用场景
1、异步处理
2、应用处理
3、流量削峰
二、特点
ActiveMq: Java开发,单击吞吐量万级,毫秒级,高可用性(支持主从架构)
三、点对点模型的特点
每个消息之后一个消费者(Consumer)(即一旦被消费,消息就不再在消息队列中)
发送者和接受者之间在时间上没有依赖性,也就是说当发送者发送了消息之后,不断接受者有没有在运行,它不会影响到被发送到队列;
接收者在成功接收消息之后需向队列应答成功。(必须)
四、发布订阅模型
包含三个角色:主题(Topic),发布者(Publisher),订阅者(Subscriber),多个发布者将消息发送到topic,系统将这些消息投递到订阅此topic的订阅者。
发布者发送带topic的消息,只有订阅了topic的订阅者才会收到消息,topic实现了发布和订阅,当你发布一个消息,所有订阅这个topic的服务都得到这个消息,所有从1到n个订阅者都会得到这个消息的拷贝。
特点:
每个消息可以有多个消费者
发布者和订阅者之间有时间上的依赖性,(只有先订阅主题才能发送消息)
订阅者必须保持运行的状态,才能接收发布者发布的消息。
五、Jms接口
ConnectionFactory:连接工厂,JMS 用它创建连接
Connection:JMS 客户端到JMS Provider 的连接
Destination:消息的目的地
Session:一个发送或接收消息的线程
MessageProducer: 由Session 对象创建的用来发送消息的对象
MessageConsumer: 由Session 对象创建的用来接收消息的对象
六
六、启动和访问
http://localhost:8161/ admin admin
activeMQ默认配置下启动会启动8161和61616两个端口,其中8161是mq自带的管理后台的端口,61616是mq服务默认端口 。
8161是后台管理系统,61616是给java用的tcp端口。