消息中间件
文章平均质量分 81
消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。消息中间件适用于需要可靠的数据传送的分布式环境。采用消息中间件机制的系统...
一杯甜酒
金融科技领域技术 & 云基础设施 & 云原生微服务 & 云原生时代标准交付 & PAAS 技术研发 & Kubernetes & 项目与技术管理
展开
-
消息中间件学习总结(24)—— Rocketmq 集群平滑迁移数据中心记录
因为这个时候所有的client还都连接着现有机房的nameserver,所以我们要把新机房部署的broker节点扩容到当前的机房,供业务使用。2、我们在新的当前数据中心的rocketmq 架构是,两个nameserver和三组主从架构的broker节点,迁移到新的数据中心是两个nameserver和两组主从架构的broker节点,因为新的数据中心硬件更强。新的broker节点扩容到当前数据中心之后,当前数据中心的broker节点也要扩容到新的数据中心,只有完成了这一步,才能保证新老数据中心。转载 2022-11-29 11:26:56 · 1394 阅读 · 0 评论 -
消息中间件学习总结(22)——MQ 面试专题
你们为什么使用mq?具体的使用场景是什么?mq的作用很简单,削峰填谷。以电商交易下单的场景来说,正向交易的过程可能涉及到创建订单、扣减库存、扣减活动预算、扣减积分等等。每个接口的耗时如果是100ms,那么理论上整个下单的链路就需要耗费400ms,这个时间显然是太长了。如果这些操作全部同步处理的话,首先调用链路太长影响接口性能,其次分布式事务的问题很难处理,这时候像扣减预算和积分这种对实时一致性要求没有那么高的请求,完全就可以通过mq异步的方式去处理了。同时,考虑到异步带来的不一致的问题,我们可以原创 2020-11-30 11:50:47 · 331 阅读 · 0 评论 -
消息中间件学习总结(21)——RocketMQ 消息丢失场景分析及如何解决!
项目中使用了MQ,那么就不可避免的需要考虑消息丢失问题。在一些涉及到了金钱交易的场景下,消息丢失还是很致命的。那么在RocketMQ中存在哪几种消息丢失的场景呢?先来一张最简单的消费流程图:上图中大致包含了这么几种场景: 生产者产生消息发送给RocketMQ RocketMQ接收到了消息之后,必然需要存到磁盘中,否则断电或宕机之后会造成数据的丢失 消费者从RocketMQ中获取消息消费,消费成功之后,整个流程结束 这三种场景都可能会产生消息的丢失,如下图所示:1转载 2020-09-09 13:26:55 · 444 阅读 · 0 评论 -
消息中间件学习总结(20)——主流MQ比较及MQ常见使用场景总结
前言MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据机构。指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递——生产者产生消息并把消息放入队列,然后由消费者去处理。消费者可以到指定队列拉取消息,或者订阅相应的队列,由MQ服务端给其推送消息。消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。解耦:一个业务需要多个模块共同实现,或者一条消息有多个系统需要对应处理,只需要主业务完成以后,.原创 2020-09-02 13:35:15 · 592 阅读 · 0 评论 -
消息中间件学习总结(19)——生产案例:消息中间件 MQ 如何处理消费失败的消息?
1、消息中间件在生产系统中的使用下图是一个非常典型的生产环境的问题,很多公司都会在生产系统里使用MQ,即消息队列。也就是说,一个系统跟另外一个系统之间进行通信的时候,假如系统A希望发送一个消息给系统B,让它去处理。但是系统A不关注系统B到底怎么处理或者有没有处理好,所以系统A把消息发送给MQ,然后就不管这条消息的“死活”了,接着系统B从MQ里消费出来处理即可。至于怎么处理,是否处理完毕,什么时...转载 2020-02-21 11:17:11 · 930 阅读 · 0 评论 -
消息中间件学习总结(18)——MQ常见面试题总结
一、为什么使用 MQ?好的架构不是设计出来的,是演进出来的,使用 MQ 必定有其道理,是用来解决实际问题的。其实使用 MQ 的场景挺多的,但是比较核心的有 3 个:异步、解耦、削峰填谷。1、异步我们通过实际案例说明:假设 A 系统接收一个请求,需要在自己本地写库执行 SQL,然后需要调用 BCD 三个系统的接口。假设自己本地写库要 3ms,调用 BCD 三个系统分别要 300ms、45...原创 2019-08-07 10:00:16 · 5918 阅读 · 1 评论 -
消息中间件学习总结(17)——MQ与RPC的区别和关联
一、RPCRPC(Remote Procedure Call)远程过程调用,主要解决远程通信间的问题,不需要了解底层网络的通信机制。常用的RPC框架有Facebook的Thrift、Alibaba的dubbo等。RPC的调用流程:1、建立通信首先要解决通讯的问题:即A机器想要调用B机器,首先得建立起通信连接,主要是通过在客户端和服务器之间建立TCP连接。2、服务寻址要解...原创 2019-08-06 09:31:06 · 2294 阅读 · 0 评论 -
消息中间件学习总结(16)——17 个方面,综合对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ 四个分布式消息队列
本文将从,Kafka、RabbitMQ、ZeroMQ、RocketMQ、ActiveMQ 17 个方面综合对比作为消息队列使用时的差异。一、资料文档Kafka:中。有kafka作者自己写的书,网上资料也有一些。 rabbitmq:多。有一些不错的书,网上资料多。 zeromq:少。没有专门写zeromq的书,网上的资料多是一些代码的实现和简单介绍。 rocketmq:少。没有专门写rock...转载 2019-05-09 10:38:06 · 1415 阅读 · 0 评论 -
消息中间件学习总结(15)——Apache RocketMQ 正式开源分布式事务消息
近日,Apache RocketMQ 社区正式发布4.3版本。此次发布不仅包括提升性能,减少内存使用等原有特性增强,还修复了部分社区提出的若干问题,更重要的是该版本开源了社区最为关心的分布式事务消息,而且实现了对外部组件的零依赖。接下来,本文将详细探秘RocketMQ事务消息的设计原理以及实现机制。一、需求缘起在微服务架构中,随着服务的逐步拆分,数据库私有已经成为共识,这也导致所面临的分布...转载 2019-01-29 15:56:55 · 622 阅读 · 0 评论 -
消息中间件学习总结(2)——RocketMQ之阿里开源消息中间件RocketMQ的前世今生
摘要: 昨天,我们将分布式消息中间件RocketMQ捐赠给了开源软件基金会Apache。 孵化成功后,RocketMQ或将成为国内首个互联网中间件在Apache上的顶级项目。 消息一出,本以为群众的反应是这样的: 然而事实上,群众的反应是这样的: 今天,特别邀请到阿里巴巴中间件(Aliware)技术研究员蒋江伟(花名:小邪)跟大家分享一下RocketMQ开源的前世今生。昨天,我们将分布...转载 2018-10-16 11:22:19 · 1251 阅读 · 0 评论 -
消息中间件学习总结(3)——RocketMQ之十分钟入门RocketMQ
本文首先引出消息中间件通常需要解决哪些问题,在解决这些问题当中会遇到什么困难,Apache RocketMQ作为阿里开源的一款高性能、高吞吐量的分布式消息中间件否可以解决,规范中如何定义这些问题。然后本文将介绍RocketMQ的架构设计,以期让读者快速了解RocketMQ。消息中间件需要解决哪些问题?Publish/Subscribe发布订阅是消息中间件的最基本功能,也是相对于传统...转载 2018-10-16 11:26:58 · 1378 阅读 · 0 评论 -
消息中间件学习总结(4)——RocketMQ之RocketMQ 迈入50万TPS消息俱乐部
前言消息团队一直致力于RocketMQ的性能优化,双十一前进行了低延时(毛刺)优化,保障了双十一万亿消息的流转如丝般顺滑,在2016年双十一种,MetaQ以接近万亿的消息总量支撑着全集团数千个应用,在系统解耦、削峰填谷、数据库同步、位点回滚消费等多种业务场景中,MetaQ都有精彩、稳定的表现。高可用低延迟,高并发抗堆积,2016双11的MetaQ真正做到了如丝般顺滑。而最近通过对性能的持续...转载 2018-10-16 11:35:02 · 1688 阅读 · 0 评论 -
消息中间件学习总结(5)——RocketMQ之Apache RocketMQ背后的设计思路与最佳实践
摘要:为了更好地让开发者们更加深入了解阿里开源,阿里云云栖社区在3月1号了举办“阿里开源项目最佳实践”在线技术峰会,直播讲述了当前阿里新兴和经典开源项目实战经验以及背后的开发思路。在本次在线技术峰会上,阿里巴巴中间件架构师冯嘉深入浅出的为大家讲述Apache RocketMQ背后的设计思路、典型场景、最佳实践以及社区运营与商业化之路。演讲嘉宾介绍:冯嘉(花名鼬神),阿里巴巴中间件架构师,具...转载 2018-10-16 11:36:52 · 1467 阅读 · 0 评论 -
消息中间件学习总结(6)——RocketMQ之RocketMQ大数据畅想
刚刚过去的双十一,阿里自主研发的消息中间件RocketMQ,充分展现了它的低延迟特性,大部分消息请求落在2ms内,慢请求也都落在20ms内,这无疑给追求快速响应的在线交易系统(OLTP)带去了福音。也是在今年11月份,RocketMQ进入Apache孵化。这款最初设计来为淘宝交易系统异步解耦、削峰填谷的消息中间件,开始走出国门,为世界上的用户提供服务。自然地,RocketMQ将来不仅仅只服务于在...转载 2018-10-16 11:40:36 · 1253 阅读 · 0 评论 -
消息中间件学习总结(7)——RocketMQ之万亿级数据洪峰下的分布式消息引擎
前言通过简单回顾阿里中间件(Aliware)消息引擎的发展史,本文开篇于双11消息引擎面临的低延迟挑战,通过经典的应用场景阐述可能会面临的问题 - 响应慢,雪崩,用户体验差,继而交易下跌。为了应对这些不可控的洪峰数据,中间件团队通过大量研究和实践,推出了低延迟高可用解决方案,在分布式存储领域具有一定的普适性。在此基础上,通过对现有有限资源的规划,又推出了分级的容量保障策略,通过限流、降级,甚至...转载 2018-10-16 11:42:40 · 2339 阅读 · 0 评论 -
消息中间件学习总结(8)——RocketMQ之RocketMQ捐赠给Apache那些鲜为人知的故事
序言今年的双十一对阿里巴巴中间件消息团队来说,注定是个不平凡的日子。在这一天,稳定性小组重点攻克的低延迟存储解决方案成功地经受住了大考。整个大促期间,99.996%的延迟落在了10ms以内,极个别由于GC引发的停顿在50ms以内,对于读写比例几乎均衡的分布式消息引擎来说,这一结果无不令人兴奋。甚至可以毫不夸张地讲,即便拿到明年的Java one大会上,也必定是场非常吸睛的技术干货分享。接下来,...转载 2018-10-16 11:44:52 · 1409 阅读 · 0 评论 -
消息中间件学习总结(9)——RocketMQ与kafka差异比较分析
淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Kafka这个优秀的消息中间件,淘宝中间件团队在对Kafka做过充分Review之后,Kafka无限消息堆积,高效的持久化速度吸引了我们,但是同时发现这个消息系统主要定位于日志传输,对于使用在淘宝交易、订单...转载 2018-10-16 11:47:40 · 1454 阅读 · 0 评论 -
消息中间件学习总结(10)——Kafka、RabbitMQ、RocketMQ消息中间件的消息发送性能对比
引言分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间我们自家的产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注。那么,消息中间件性能究竟哪家强?带着这个疑问,我们中间件测试组对常见的三类消息产品(Kafka、RabbitMQ、RocketMQ)做了性能比较。Kafka是LinkedIn开源的分布式发...转载 2018-10-16 11:49:43 · 1384 阅读 · 0 评论 -
消息中间件学习总结(11)——Kafka与RocketMQ的Topic数量对单机性能的影响比较分析
引言上一期我们对比了三类消息产品(Kafka、RabbitMQ、RocketMQ)单纯发送小消息的性能,受到了程序猿们的广泛关注,其中大家对这种单纯的发送场景感到并不过瘾,因为没有任何一个网站的业务只有发送消息。本期,我们就来模拟一个真实的场景:消息的发送和订阅一定是共存的 要支持多个订阅端订阅自己感兴趣的消息 鉴于上一期Kafka和RocketMQ的指标和关注度很高,本期我们将只针对...转载 2018-10-16 11:53:32 · 3606 阅读 · 0 评论 -
消息中间件学习总结(12)——Kafka与RocketMQ的多Topic对性能稳定性的影响比较分析
引言上期我们对比了RocketMQ和Kafka在多Topic场景下,收发消息的对比测试,RocketMQ表现稳定,而Kafka的TPS在64个Topic时可以保持13万,到了128个Topic就跌至0.85万,导致无法完成测试。我们不禁要问:为什么看不到Kafka性能暴跌的趋势呢?今天的测试,就来排查一下这个问题,然后验证一下两个系统对外服务的稳定性。本次测试,要引入“稳定性测试”这个...转载 2018-10-16 11:55:20 · 1574 阅读 · 0 评论 -
消息中间件学习总结(13)——Kafka与RocketMQ的单机系统可靠性比较分析
引言前几期的评测中,我们对比了Kafka和RocketMQ的吞吐量和稳定性,本期我们要引入一个新的评测标准——软件可靠性。何为“可靠性”?先看下面这种情况:有A,B两辆越野汽车,在城市的周边地区均能很好应对泥泞的路况。当一同开去穿越西藏,A车会因为西藏本地的汽油不达标,导致油路受阻无法点火,而B车顺利完成了穿越。因此我们说,B车的可靠性比A车高。何为“软件可靠性”?“软件的可靠性”...转载 2018-10-16 11:56:33 · 1247 阅读 · 0 评论 -
消息中间件学习总结(14)——你的分布式应用真的需要那么多同步调用么?
摘要: 在5月17日举办的2016云栖大会·武汉峰会上阿里中间件产品专家马雷(阿仁)就阿里中间件MQ做了精彩的演讲,告诉大家:阿里中间件团队的目标是让消息“传”无边界。本文也就为什么使用消息中间件,消息中间件的核心场景进行了分享。相信阿仁的分享会让大家对分布式应用的异步调用有更加深刻的了解。精彩不要错过!对整个分布式应用系统而言,一共分为两种调用,一种是同步调用,一种是异步调用。同步调用就...转载 2018-10-16 11:59:24 · 2395 阅读 · 0 评论 -
消息中间件学习总结(1)——RocketMQ之专访RocketMQ联合创始人:项目思路、技术细节和未来规划
编者按这些年开源氛围越来越好,各大IT公司都纷纷将一些自研代码开源出来。2012年,阿里巴巴开源其自研的第三代分布式消息中间件——RocketMQ。经过几年的技术打磨,阿里称基于RocketMQ技术,目前双十一当天消息容量可达到万亿级。2016年11月,阿里将RocketMQ捐献给Apache软件基金会,正式成为孵化项目。阿里称会将其打造成顶级项目。这是阿里迈出的一大步,因为加入到开源软件...转载 2018-10-16 11:01:13 · 1527 阅读 · 0 评论