阿里技术专家把《分布式消息中间件》写透了,不愧是行业扛把子

详解消息中间件及其应用场景和常用消息中间件的技术选型(RabbitMQ、Kafka 、RocketMQ、ActiveMQ) 消息中间件简介 消息中间件的使用场景 消息中间件的产生背景、特点和常用协议 常用消息中间件介绍(RabbitMQ、Kafka 、RocketMQ、ActiveMQ) 常用消息中间件的对比 常用消息中间件,如何技术选型? 阅读详情

前言

消息中间件是分布式系统中的重要组件,在实际工作中常用消息中间件进行系统间数据交换,从而解决应用解耦、异步消息、流量削峰等问题,实现高性能、高可用、可伸缩和最终一致性架构。目前市面上可供选择的消息中间件有RabbitMQ、ActiveMQ、 Kafka、 RocketMQ、ZeroMQ、MetaMQ等。

本文总结了近年来在实际项目中使用消息中间件的经历和踩过的一些坑,可为你在实际工作中进行产品选型、业务场景方案制定、性能调整等提供明确的思路。由于是基于Java语言开发,因此它非常适合Java初中级程序员阅读,学习。

Part 1消息队列

介绍消息队列技术的背景,包括使用场景和消息队列的功能特点,并设计了一个简单的消息队列。

  • 1.1 系统间通信技术介绍
  • 1.2 为何要用消息队列
  • 1.3 消息队列的功能特点
  • 1.4 设计一个简单的消息队列

     

Part 2消息协议

介绍消息队列中常用的消息协议,包括每个消息协议的历史背景、主要概念和基于该协议的消息通信过程。本章所介绍的协议也是接下来理解各种消息中间件产品的基础。

2.1 AMQP

2.2 MQTT

2.3 STOMP

2.4 XMPP

2.5 JMS

Part 3RabbitMQ

具体介绍RabbitMQ的特点、主要概念和Java使用示例,接着通过使用RabbitMQ实现异步处理和消息推送的功能,最后给出在工作中使用RabbitMQ时的一些实践建议。

3.1 简介

3.2 工程实例

  • 3.2.1 Java访问RabbitMQ实例
  • 3.2.2 Spring整合RabbitMQ
  • 3.2.3 基于RabbitMQ的异步处理
  • 3.2.4 基于RabbitMQ的消息推送

     

3.3 RabbitMQ实践建议

  • 3.3.1 虚拟主机
  • 3.3.2 消息保存
  • 3.3.3 消息确认模式
  • 3.3.4 消费者应答
  • 3.3.5 流控机制
  • 3.3.6 通道
  • 3.3.7 总结

     

Part 4ActiveMQ

具体介绍ActiveMQ的特点、基本概念和Java使用示例,接着通过使用ActiveMQ实现消息推送分布式事务的功能,最后给出在工作中使用ActiveMQ时的一些实践建议。

4.1 简介

4.2 工程实例

  • 4.2.1 Java访问ActiveMQ实例
  • 4.2.2 Spring整合ActiveMQ
  • 4.2.3 基于ActiveMQ的消息推送
  • 4.2.4 基于ActiveMQ的分布式事务

     

4.3 ActiveMQ 实践建议

  • 4.3.1 消息转发模式
  • 4.3.2 消息积压
  • 4.3.3 消息事务
  • 4.3.4 消息应答模式
  • 4.3.5 消息发送优化
  • 4.3.6 消息消费优化
  • 4.3.7 消息协议
  • 4.3.8 消息持久化

     

Part 5Kafka

具体介绍Kafka的特点、主要概念和Java使用示例,接着通过使用Kafka实现用户行为数据采集、日志收集和流量削峰的功能,最后给出在工作中使用Kafka时的一-些实践建议。

5.1 简介

5.2 工程实例

  • 5.2.1 Java访问Kafka实例
  • 5.2.2 Spring整合Kafka
  • 5.2.3 基于Kafka的用户行为数据采集
  • 5.2.4 基于Kafka的日志收集
  • 5.2.5 基于Kafka的流量削峰

     

5.3 Kafka实践建议

  • 5.3.1 分区
  • 5.3.2 复制
  • 5.3.3 消息发送
  • 5.3.4 消费者组
  • 5.3.5 消费偏移量

     

Part 6RocketMQ

具体介绍RocketMQ的特点、主要概念和Java使用示例,接着通过使用RocketMQ的特性实现消息顺序处理和分布式事务的另外一种解决方案,最后给出在工作中使用RocketMQ时的一些实践建议。

6.1 简介

6.2 工程实例

  • 6.2.1 Java访问RocketMQ实例
  • 6.2.2 Spring整合RocketMQ
  • 6.2.3 基于RocketMQ的消息顺序处理
  • 6.2.4 基于RocketMQ的分布式事务

     

6.3 RocketMQ实践建议

  • 6.3.1 消息重试
  • 6.3.2 消息重复
  • 6.3.3 集群
  • 6.3.4 顺序消息
  • 6.3.5 定时消息
  • 6.3.6 批量发送消息
  • 6.3.7 事务消息

     

目录

总结

Alibaba在这片领域还是很有话语权的,介绍到的都是市面上主流也是应用最为广泛的四种消息中间件产品。可以看到,在整本书中不仅仅只是介绍这些消息中间件的来源、特性、Java 语言使用的示例,同时也结合具体业务场景的应用案例,最后给出在实际项目中使用时的一些建议和需要综合权衡的技术要点。

它带给你的更多是教你思维,通过这些思想方式进行实践,从实践中得到成长,这样你学到的东西才是真正对自己有用的,对你往后的工作一定会有较大的提升。

阿里资深架构师带你认识,MetaQ 消息中间件 MetaQ MetaQ 是一款分布式、队列模型的消息中间件。分为 Topic 与 Queue 两种模式,Push 和 Pull 两种方式消费,支持严格的消息顺序,亿级别的堆积能力,支持消息回溯和多个维度的消息查询。Java学习圈子MetaQ发展历史 2007年,淘宝实施了“五彩石”项目,将交易系统由单机交易升级到了分布式,这个过程中产生了 Notify。 2010年,阿里巴巴 B2B 部门基... 阅读详情

相关推荐

整理的15个公开且可直接使用的电力视觉输电线路领域数据集

而巡检数据是目前来说影响我们做科研的最大阻碍,为此本内容主要总结了,现有的且公开免费的巡检数据集,供大家使用。STN PLAD数据集133个航拍图像,五个电力部件:电力塔及其塔的ID、绝缘子,防震锤,联板(yoke),图像的尺寸在5472×3648到5472×3078。IDID数据集:2000张图像,包含三个类别,正常绝缘子,破损绝缘子和闪络绝缘子三个类别,用于目标检测的实验。TTPLA数据集,用于实例分割,1100张尺寸为3840×2160,包含两个类别,电力杆塔和电力线。主要用于电力杆塔的目标检测。

weixin_42048361的博客 5017

读了阿里技术专家写的这本《分布式消息中间件》让我思维拔高了一个境界,不愧是扛把子!

前言 消息中间件是分布式系统中的重要组件,在实际工作中常用消息中间件进行系统间数据交换,从而解决应用解耦、异步消息、流量削峰等问题,实现高性能、高可用、可伸缩和最终一致性架构。目前市面上可供选择的消息中间件有RabbitMQ、ActiveMQ、 Kafka、 RocketMQ、ZeroMQ、MetaMQ等。 本文总结了近年来在实际项目中使用消息中间件的经历和踩过的一些坑,可为你在实际工作中进行产品选型、业务场景方案制定、性能调整等提供明确的思路。由于是基于Java语言开发,因此它非常适合Java初中级程

QAQFyl的博客 360

基于深度学习的时间序列预测

深度学习在时间序列数据中应用广泛,学术界已经有很多深度学习模型来适应不同领域的时间序列数据集的多样性。那么到底有哪些基于深度学习的时间序列预测模型?他们的优缺点是什么?让我们一起来看一下。

Sharon0408的博客 6581

Dubbo+Zookeeper架构—高级篇16—消息中间件在分布式系统中的作用及介绍

一、消息中间件的定义        Message-orientedmiddleware (MOM) is software infrastructure focused on sending and receivingmessages between distributed systems.        消息中间件是在分布式系统中完成消息的发送和接收的基础软件。二、消息中间件的作用     ...

weixin_40663800的博客 1032

保姆级教程:QGC地面站Vehicle Setup全模块配置详解(从固件升级到安全设置)

本文提供QGC地面站Vehicle Setup全模块配置的保姆级教程,涵盖从固件升级到安全设置的完整流程。详细解析二次开发环境准备、传感器校准、飞行模式配置等关键步骤,帮助用户快速掌握无人机配置技巧,确保飞行安全与性能优化。

weixin_28726671的博客 387

【异常】OpenClaw总Token超限400报错400 Total tokens of image and text exceed max message tokens. Request id:

摘要: 多模态大模型调用中,图文总Token超限导致的400报错是常见问题。本文分析了该报错的触发原因(文本+图片Token总和超出接口限额),并从技术层面解释了多模态Token的计数规则。解决方案分为三个层次:1)紧急修复(精简文本、压缩图片、拆分请求);2)标准化根治(预校验Token、图片预处理、限额适配);3)进阶兜底(分块处理、模型升级、容错机制)。通过前置管控与源头优化,可有效解决并预防此类问题,提升业务稳定性。

奶爸的编程之路,也就一周冷个三天 832

腾讯内网首发:分布式核心原理解析+分布式消息中间件实践笔记

消息队列在大型分布式系统中具有丰富的应用场景。例如,系统间需要解耦,一个系统发布消息,多个系统订阅消费消息,消息生产者并不需要知道消费方是谁。在高并发场景下,比如秒杀活动,短时间内会发起大量请求,为应对瞬时请求,如果部署大量的机器来处理请求,秒杀活动结束后流量很低,则会浪费很多资源,增加成本,而使用消息队列的堆积能力,先保存请求,再匀速处理请求,则会很好地解决此类问题。笔记中从不同角度细致地讲解了各种消息中间件,读者可以结合场景,从高可用性、可扩展性、伸缩性、消息堆积能力等方面选择符合自己需求的中间件。

m0_73311735的博客 226

构建AI招聘助手:提高人才筛选与匹配效率

人工成本高:传统招聘过程涉及大量的简历筛选和面试安排,需要耗费大量的人力和时间。匹配效率低:简历筛选过程中,人为因素可能导致信息遗漏或误判,影响匹配效果。招聘周期长:从职位发布到最终录用,传统招聘流程往往耗时较长,影响企业业务发展。机器学习(Machine Learning)是一门让计算机通过数据和经验来学习并改进性能的学科。自然语言处理(Natural Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向,旨在让计算机能够理解和解释人类语言。

AI天才研究院 1305

分布式中间件核心原理与RocketMQ最佳实践

分布式中间件是现代分布式系统中不可或缺的组件之一,它扮演着连接和协调各个节点的桥梁角色。本文介绍了分布式中间件的核心原理和RocketMQ的最佳实践,希望读者可以通过本文更好地理解和应用分布式中间件。当然,分布式系统是一个复杂的领域,本文只是简单介绍了其中的一部分,读者还需要深入学习和实践。

前端好玩的小案例、游戏、工具 2139

华为OD新系统机试真题 4.26 -最大化游戏试玩资格分发

华为OD机试新系统真题【最大化游戏试玩资格分发】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统机试 4月26号真题【最大化游戏试玩资格分发】。

qq_45776114的博客 826

AI上推荐 之 NeuralCF与PNN模型(改变特征交叉方式)

1. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战: 信息消费者:如何从大量的信息中找到自己感兴趣的信息? 信息生产者:如何让自己生产的信息脱颖而出, 受到广大用户的关注? 为了解决这个矛盾, 推荐系统应时而生, 并飞速前进,在用户和信息之间架起了一道桥梁,一方面帮助用户发现对自己有价值的信息, 一方面让信息能够展现在对它感兴趣的用户前面。 推荐系统近几年有了深度学习的助推发展之势迅猛, 从前深度学习的传统推荐模型(协

Miracle8070 1万+

阿里技术专家写的这本限量版《分布式消息中间件》,我思维拔高了一个境界,不愧是扛把子!

前言 消息中间件是分布式系统中的重要组件,在实际工作中常用消息中间件进行系统间数据交换,从而解决应用解耦、异步消息、流量削峰等问题,实现高性能、高可用、可伸缩和最终一致性架构。目前市面上可供选择的消息中间件有RabbitMQ、ActiveMQ、 Kafka、 RocketMQ、ZeroMQ、MetaMQ等。 本文总结了近年来在实际项目中使用消息中间件的经历和踩过的一些坑,可为你**在实际工作中进行产品选型、业务场景方案制定、性能调整等提供明确的思路。**由于是基于Java语言开发,因此它非常适合Java初中

weixin_47067712的博客 1225

【S32K3 MCAL配置】-1.1-GPIO配置及其应用-DIO之高低电平输出-点亮LED灯(基于MCAL)

【S32K3 MCAL配置】-1.1-GPIO配置及其应用-点亮LED灯(基于MCAL)

「汽车电子助手」的博客 1937

到了2020年,年薪80w的阿里P7专家,顶尖的技术人才只因做到了这几点

最近部门招聘,很多工程师,包括我在内都参与了内推和面试的过程,经过这次招聘,我发现能够最终拿到offer的人,基本上在看到简历的那一瞬间就已经定下来了,后续的面试只不过是一种验证而已(注意,是验证,而不是走过场),除非你面试过程中犯错误,或者你不想来,否则,那个offer一定是可以拿下的。 那些拿下offer的人,基本上都有这么一些特征 1. 学校不错,一般都是985,211,如果学...

javajavajava 4万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

阿里p8Java技术专家,他们的能力都需要达到什么程度?

大家口中的P8,通常都是阿里P8高级技术专家,是一线Team leader或者二级域架构师,需要对一个领域的业务非常熟悉并且能够将影响力辐射到其他合作团队。一般来说一些业...

架构师小秘圈 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

全网首发!消息中间件神仙笔记,涵盖阿里十年技术精髓

消息中间件是分布式系统中的重要组件,在实际工作中常用消息中间件进行系统间数据交换,从而解决应用解耦、异步消息、流量削峰等问题,实现高性能、高可用、可伸缩和最终一致性架构。目前市面上可供选择的消息中间件有RabbitMQ、ActiveMQ、Kafka、RocketMQ、ZeroMQ、MetaMQ等。面试也是问的越来越多,这篇文章要与大家聊一聊RabbitMQ、ActiveMQ、Kafka、RocketMQ这四种应用比较广泛的消息中间件。(通过阿里技术官总结的一份消息中间件精髓文档与阿里面试真题展开)...

lt_xiaodou的博客 511

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

面试阿里,我还是挂在了第四轮……

作者 | 倪升武责编| 郭 芮可能每个技术人都有个阿里梦,我也不例外。最近准备跳槽,前一阵子在准备各种面试,也面了几个大厂,包括阿里。是的,最后我挂在了第四轮。这篇...

优快云资讯 1万+

阿里技术专家写的这本限量版《分布式消息中间件》

看完上述知识点如果你深感Java基础不够扎实,或者刷题刷的不够、知识不全面小编专门为你量身定制了一套针对知识面不够,也莫慌!还有一整套的,可以瞬间查漏补缺全都是一丢一丢的收集整理纯手打出来的。

2401_83916326的博客 1043

月薪60K技术专家,在阿里巴巴是什么水平?

能拿月薪60K,就拿阿里P8高级技术专家做比喻,他们是一线Team leader或者二级域架构师,需要对一个领域的业务非常熟悉并且能够将影响力辐射到其他合作团队。一般来说...

Java后端技术 2661

简历:第一章:技术亮点如何写

具备扎实的java基础,熟练掌握javaIO流,集合,多线程,反射,泛型,注解,网络编程等基础开发技术。 熟练使用常用的java集合以及常用集合的源码,熟悉多线程以及并发容器的使用。比如CAS,AQS,Lock,Volatilte,Synchronized等。 熟悉常用的设计模式,常见的算法以及常见的数据结构,熟悉HTTP协议,TCPIP协议,OAUTH2协议等。 深入理解Spring,Spring MVC,Mybatis等开源框架的设计原理以及底层架构,研究过部分核心源码,具备一定的框架定制开发能力

我是Java程序员廖志伟,感谢朋友们的支持! 2万+

深入理解阿里分布式消息中间件

什么是分布式消息中间件什么是分布式消息中间件?对于分布式消息中间件,首先要了解两个基础的概念,即什么是分布式系统,什么又是中间件。 分布式系统:“A distributed system is one in which components located at networked computers communicate and coordinate their actions only by...

Java烂猪皮 1830

RocketMQ:分布式消息中间件详解与应用场景

RocketMQ:分布式消息中间件详解与应用场景

嗨,欢迎来到我的 优快云 博客小天地!一名深耕多年的技术发烧友。在这里,我将把日常工作中积累的宝贵经验,从复杂架构设计的精妙之处,到代码优化的实战技巧,毫无保留地分享给大家。 2006

阿里技术大咖力荐:消息中间件进阶手册,限时开源,成为技术高手的秘籍

亲爱的朋友们,消息中间件的重要性不言而喻,它犹如一座桥梁,连接着信息的传递与处理。希望在阅读完这份文档后,你们能够根据实际需求,从高可用性、可扩展性、伸缩性以及消息堆积能力等多个角度出发,为自己挑选一款得心应手的消息中间件。需要完整版PDF学习资源请扫描下方名片100%获取免费下载方式!👇👇点击下方名片👇👇。

资料免费分享,点击名片 1044
上一篇: 硬核!阿里内部消化的Mybatis学习笔记,简短却精悍,全是重点
下一篇: 哭了!Google“内部消化”的Spring实战资料,看呆了
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值