ActiveMQ
慢就是【快】
三律:律行、律言、律心
展开
-
ActiveMQ高级特性
引入消息队列之后该如何保证其高可用性采用ZooKeeper+Replicated LevelDB集群异步投递Async Sends背景对于一个Slow Consumer,使用同步发送消息可能出现Producer堵塞的情况,慢消费者适合使用异步发送概述ActiveMQ支持同步,异步两种发送的模式将消息发送到broker,模式的选择对发送延时有巨大的影响。producer能达到怎么样的产出率(产出率=发送数据总量/时间)主要受发送延时的影响,使用异步发送可以显著提高发送的性能。ActiveMQ默原创 2020-11-06 23:15:55 · 309 阅读 · 0 评论 -
ActiveMQ的多节点集群
概述基于zookeeper和LevelDB搭建ActiveMQ集群。集群仅提供主备方式的高可用集群功能,避免单点故障。集群实现方案基于shareFileSystem共享文件系统(KahaDB)基于JDBC基于可复制的LevelDBLevelDB,5.6版本之后推出了LecelDB的持久化引擎,它使用了自定义的索引代替常用的BTree索引,其持久化性能高于KahaDB,虽然默认的持久化方式还是KahaDB,但是LevelDB可能会是趋势。在5.9版本还提供了基于LevelDB和Zook原创 2020-11-06 23:00:56 · 794 阅读 · 3 评论 -
ActiveMQ的消息存储和持久化
概述为了避免意外宕机以后丢失信息,需要做到重启后可以恢复消息队列,消息系统一半都会采用持久化机制。ActiveMQ的消息持久化机制有JDBC,AMQ,KahaDB和LevelDB,无论使用哪种持久化方式,消息的存储逻辑都是一致的。就是在发送者将消息发送出去后,消息中心首先将消息存储到本地数据文件、内存数据库或者远程数据库等。再试图将消息发给接收者,成功则将消息从存储中删除,失败则继续尝试发送。消息中心启动以后,要先检查指定的存储位置是否有未成功发送的消息,如果有,则会先把存储位置中的消息发出去。原创 2020-11-06 22:40:46 · 489 阅读 · 0 评论 -
JMS规范、ActiveMQ Broker和ActiveMQ传输协议
Java实现ActiveMQ通讯(构建过程)编写pom.xml配置文件<!-- https://mvnrepository.com/artifact/org.apache.activemq/activemq-all --> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all<原创 2020-11-06 17:29:16 · 450 阅读 · 0 评论 -
ActiveMQ基本内容及安装部署
概述背景为什么要在系统里引入消息中间件?在什么场景下需要使用消息中间件?系统之间直接调用实际工程落地和存在的问题?微服务架构后,链式调用是我们在写程序时候的一般流程,为了完成一个整体功能会将其拆分成多个函数(或子模块),比如模块A调用模块B,模块B调用模块C,模块C调用模块D。但在大型分布式应用中,系统间的RPC交互繁杂,一个功能背后要调用上百个接口并非不可能,从单机架构过渡到分布式微服务架构的通例,这些架构会有哪些问题?系统之间接口耦合比较严重每新增一个下游功能,都要对上游的相关接口进行改原创 2020-11-06 17:15:50 · 369 阅读 · 0 评论 -
ActiveMQ常见问题
什么是 ActiveMQ?activeMQ 是一种开源的,实现了 JMS1.1 规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信ActiveMQ 服务器宕机怎么办?这得从 ActiveMQ 的储存机制说起。在通常的情况下,非持久化消息是存储在内存中的,持久化消息是存储在文件中的,它们的最大限制在配置文件的节点中配置。但是,在非持久化消息堆积到一定程度,内存告急的时候,ActiveMQ会将内存中的非持久化消息写入临时文件中,以腾出内存。虽然都保存原创 2020-08-26 22:53:37 · 622 阅读 · 0 评论