分布式消息中间件
相信大家在实际工作中都用过消息中间件进行系统间数据交换,解决应用解耦、异步消息、流量削峰等问题,由此消息中间件的强大功能想必也不用我多说了!目前业界上关于消息中间件的实现多达好几十种,可谓百花齐放,所用的实现语言同样也五花八门。不管使用哪一个消息中间件,我们的目的都是实现高性能、高可用、可伸缩和最终一致性架构。
再说面试
假如面试官看你简历里写了 MQ 中间件的使用经验,你可能会被问到如下问题:
1、你们公司生产环境用的是什么消息中间件?
2、为什么要在系统里引入消息中间件?
3、引入消息中间件之后会有什么好处以及坏处?
你们看到之后是不是心里没有一个系统的概念?不要慌,今天我们就借我前段时间从阿里一位朋友手上得来的一份文档来与大家一起打开分布式消息中间件的大门!
由于篇幅限制就不能把文档的所有内容展示出来了,感兴趣的小伙伴可以点赞+转发 私信我 添加小助理 vx [X1063091801] 即可百分百获取!下面我们来看文档主要内容!
我们先来看看目录
第一部分 消息队列
介绍消息队列技术的背景,包括使用场景和消息队列的功能特点,并设计了一个简单的消息队列。
消息队列的功能特点
设计一共简单的消息队列
第二部分 消息协议
介绍消息队列中常用的消息协议,包括每个消息协议的历史背景、主要概念和基于该协议的消息通信过程。本章所介绍的协议也是接下来理解各种消息中间件产品的基础。
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 实践建议
集群
为了不影响大家的阅读体验,文章到这里篇幅已经很长了,就只这样展示出来了
写在最后
相信大家也都知道掌握消息中间件的重要性,希望大家看完这份文档后能自己结合场景,从高可用性、可扩展性、伸缩性、消息堆积能力等方面选择符合自己需求的中间件。
小伙伴们有兴趣想了解内容和更多相关学习资料的请点赞收藏+评论转发+关注我,后面会有很多干货。
我有一些面试题、架构、设计类资料可以说是程序员面试必备!所有资料都整理到网盘了,需要的话欢迎下载!私信我回复【07】即可免费获取
原文出处:xie.infoq.cn/article/ed4148adf178aa4ba232c9ea7