ActiveMQ
什么是中间件(分布系统服务)
中间件是一种独立的系统软件或服务程序,分分布式应用软件借助这种软件在不同的技术之间共享资源(就是一个功能较全的半成品)
什么事消息队列
是一种中间件,是分布式系统中重要的组件,主要解决应用耦合,异常处理,流量销风锋等问题,实现高性能,高可用,可伸缩和最终一致性架构;
消息队列常见产品:
KafKa
ActiveMQ
MetaMQ
RabbitMQ
RocketMQ
ZeroMQ
异步处理
应用解耦
流量销锋
场景:秒杀活动或团购活动,一般会因为流量过大,导致流量暴增,应用挂掉,为了解决这个问题,一般需要在应用前段加入消息队列。
日志处理
场景:将消息队列用在日志处理中,解决大量日常传输的问题
JMS消息服务
JMS 是一个API,是一个消息服务的标准/规范
在JMS中用两种消息模型:P2P(点对点模型)和Publish/Subscribe(P2P/Sub)(发布者/订阅者模型)
消息模型:
- P2P(点对点模型)
- (P2P/Sub)(发布者/订阅者模型)
P2P(点对点模型)
特点:
- 每个消息只有一个接受者(即一旦被接受,消息就不再消息对列中,意思是接接收者在消息队列中收到后,消息队列中就把这个消息删掉)
(P2P/Sub)(发布者/订阅者模型)
特点:
- 每个消息可以有多个订阅者
- 发布者和订阅者之间有时间上的依赖性
- 为了接收消息,订阅者必须保持运动的状态
JMS编程模式是JAVA架构实现消息队列的底层技术
ActiveMQ消息队列
是Apache产品,最流行的,能力强劲的开源消息队列。ActyiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,