时间如白驹过隙,一眨眼的功夫距离上次写博客的时间已经过去两年多了。为了回馈广大顾客,决定将最近整理的东西分享给大家,哈哈哈。虽然年龄已经不小,但还是要保持年轻,乐观的心态。最近将ActiveMQ源码涉猎了下,虽然这款MQ中间件年龄已经比较大了,而且市面上也出现了很多更优秀的MQ产品,如kafka,RocketMQ,RabbitMQ等。但是仍然有较多厂商在使用ActiveMQ,而且关于AMQ(以下ActiveMQ简称AMQ)的中文资料相比其他中间件来说真的是少之又少,关于源码分析的那就更少了,或者质量不高,所以想要进行深入的学习或者出了问题进行排查的难度简直比蜀道还难,基于此,不得不一探AMQ实现的究竟了。寡人准备将AMQ的源码分析分成如下几个大模块进行总结
1、Producer模块,主要分析Producer的启动,Producer的消息发送,Producer处理响应等流程。
2、Broker模块,主要分析Broker启动,如何接收Producer的消息及处理,请求响应流程,消息转发给Consumer等流程。
3、Consumer模块,主要分析Consumer连接Broker流程,接收消息并处理流程。
4、存储模块,主要是针对AMQ的KahaDB存储引擎,从索引和数据两个角度进行分析
5、性能调优模块,针对一些重要的配置参数,结合AMQ的机制特性,分析存在性能瓶颈点或者可能出现问题的地方,并给出优化建议。
6、总结模块,主要是针对AMQ中一些设计模式,各种任务Task,线程池等进行总结分析
7、结尾篇,Spring集成AMQ实现源码分析