分布式消息中间件
相信大家在实际工作中都用过消息中间件进行系统间数据交换,解决应用解耦、异步消息、流量削峰等问题,由此消息中间件的强大功能想必也不用我多说了!目前业界上关于消息中间件的实现多达好几十种,可谓百花齐放,所用的实现语言同样也五花八门。不管使用哪一个消息中间件,我们的目的都是实现高性能、高可用、可伸缩和最终一致性架构。
再说面试
假如面试官看你简历里写了MQ中间件的使用经验,你可能会被问到如下问题:
- 1、你们公司生产环境用的是什么消息中间件?
- 2、为什么要在系统里引入消息中间件?
- 3、引入消息中间件之后会有什么好处以及坏处?
你们看到之后是不是心里没有一个系统的概念?不要慌,今天我们就借我前段时间从阿里一位朋友手上得来的一份文档来与大家一起打开分布式消息中间件的大门!
由于篇幅限制就不能把文档的所有内容展示出来了,需要的朋友可以点击此处来获取就可以了!
我们先来看看目录
第一部分 消息队列
介绍消息队列技术的背景,包括使用场景和消息队列的功能特点,并设计了一个简单的消息队列。
- 消息队列的功能特点
- 设计一共简单的消息队列
第二部分 消息协议
介绍消息队列中常用的消息协议,包括每个消息协议的历史背景、主要概念和基于该协议的消息通信过程。本章所介绍的协议也是接下来理解各种消息中间件产品的基础。
- AMQP
- STOMP
第三部分 RabbitMQ
具体介绍 RabbitMQ的特点、主要概念和Java使用示例,接着通过使用RabbitMQ实现异步处理和消息推送的功能
- RabbitMQ的概念
- Spring整合MQ
- RabbitMQ实践建议
第四部分 ActiveMQ
具体介绍 ActiveMQ的特点、基本概念和Java使用示例,接着通过使用ActiveMQ实现消息推送分布式事务的功能
- ActiveMQ特点
- Java访问ActiveMQ实例
- 基于ActiveMQ的消息推送
- 基于ActiveMQ的分布式事务
第五部分 Kafka
具体介绍Kafka 的特点、主要概念和Java使用示例,接着通过使用Kafka实现用户行为数据采集、日志收集和流量削峰的功能
- Java访问Kafka实例
- Spring整合Kafka
- 基于Kafka的用户行为数据采集
- Kafka实践建议
第六部分 RocketMQ
具体介绍RocketMQ的特点、主要概念和Java使用示例,接着通过使用RocketMQ的特性实现消息顺序处理和分布式事务的另外一种解决方案
- RocketMQ基本概念
- 工程实例
- 基于RocketMQ的消息顺序处理
- 基于RocketMQ的分布式事务
- RocketMQ实践建议
- 集群
为了不影响大家的阅读体验,文章到这里篇幅已经很长了,就只这样展示出来了
写在最后
相信大家也都知道掌握消息中间件的重要性,希望大家看完这份文档后能自己结合场景,从高可用性、可扩展性、伸缩性、消息堆积能力等方面选择符合自己需求的中间件。需要的朋友可以点击此处来获取就可以了!