MQ消息中间件之ActiveMQ入门概述
MQ
常见消息中间件落地产品:Kafka
(面向过程-java、scala
)、RabbitMQ
(erlang
)、RocketMQ(java)
、ActiveMQ(java)
等。
ActiveMQ
功能:api
发送和接收、MQ
高可用性、MQ
持久化、签收机制、与Spring
整合、MQ
的集群容错配置、延时发送、定时投递…。
ActiveMQ
实际案例:在此之前系统之间都是直接调用的会存在三大问题:
- 系统之间接口耦合比较严重
- 大流量并发时,容易被冲垮
- 等待同步存在性能问题
一、ActiveMQ定义
面向消息的中间件(message-oriented middleware
)MOM
,是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等功能。
发送者把消息发送给消息服务器,消息服务器将消息存放在若干队列/主题topic
中,在合适的时候,消息服务器会将消息转发给接受者。在这个过程中,发送和接受是异步的,也就是发送无需等待,而且发送者和接受者的生命周期也没有必然关系;尤其在发布pub
/订阅sub
模式下,也可以完成一对多的通信,即让一个消息有多个接受者。
二、ActiveMQ优点
三大特点异步、解耦、削峰,其缺点存在消息一致性问题,这里需要注意,一般是消费者主动轮询。
三、ActiveMQ官网
http://activemq.apache.org/
版本下载
四、ActiveMQ应用
ActiveMQ实现高可用、高性能、可伸缩、易用和安全的企业级面向消息服务的系统。
- 异步消息的消费和处理
- 控制消息的消费顺序
- 可以和spring/springboot整合简化编码
- 配置集群容错的MQ集群
五、图解–并行、解耦、排队、同步异步
(1)并行
(2)解耦
(3)排队
(4)同步异步
☝上述分享来源个人总结,如果分享对您有帮忙,希望您积极转载;如果您有不同的见解,希望您积极留言,让我们一起探讨,您的鼓励将是我前进道路上一份助力,非常感谢!我会不定时更新相关技术动态,同时我也会不断完善自己,提升技术,希望与君同成长同进步!
☞本人博客:https://coding0110lin.blog.csdn.net/ 欢迎转载,一起技术交流吧!