
消息队列
文章平均质量分 92
消息队列相关的知识
懵懵懂懂搬运工
这个作者很懒,什么都没留下…
展开
-
4款主流分布式MQ消息队列如何技术选型
1、前言消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题。它可以实现高性能、高可用、可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件。消息队列在电商系统、消息通讯、日志收集等应用中扮演着关键作用,以阿里为例,其研发的消息队列(RocketMQ)在历次天猫 “双十一” 活动中支撑了万亿级的数据洪峰,为大规模交易提供了有力保障。作为提升应用性能的重要手段,分布式消息队列技术在互联网领域得到了越来越广泛的关注 。本文将介绍四种常用的分布式消息队列开源软件:Ka转载 2021-12-07 09:41:12 · 490 阅读 · 0 评论 -
Kafka
1、为什么有消息系统1、解耦合2、异步处理例如电商平台,秒杀活动。一般流程会分为: 风险控制 库存锁定 生成订单 短信通知 更新数据 通过消息系统将秒杀活动业务拆分开,将不急需处理的业务放在后面慢慢处理;流程改为: 风险控制 库存锁定 消息系统 生成订单 短信通知 更新数据 3、流量的控制3.1 网关在接受到请求后,就把请求放入到消息队列里面3.2 后端的服务从消息队列里转载 2021-12-07 09:39:37 · 491 阅读 · 0 评论 -
分布式事务中使用RocketMQ的事务消息机制优化事务的处理逻辑
1、事务消费介绍我们经常支付宝转账余额宝,这是日常生活的一件普通小事,但是我们思考支付宝扣除转账的钱之后,如果系统挂掉怎么办,这时余额宝账户并没有增加相应的金额,数据就会出现不一致状况了。上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证?!在搜索广告系统中,当用户点击某广告后,除了在点击事件表中增加一条记录外,还得去商家账户表中找到这个商家并扣除广告费吧,怎么保证?!等等,相信大家或多或多少都能碰到转载 2021-12-07 09:37:30 · 290 阅读 · 0 评论 -
消息队列MQ/JMS/Kafka
是不是平常听到说消息队列啊,JMS啊,MQ啊 、kafka啊巴啦啦的一堆术语,听不懂?关系混乱?今天就让我们来一起来看看他们都是什么吧。1消息队列介绍首先举个收快递的栗子,传统的收快递,快递小哥把我们的快递送到我们的手里。他需要什么条件嗯? 快递小哥有时间送, 我们有时间取, 快递小哥和我们约定一个时间地点。 但是嗯。快递小哥有那么多的快递需要送,可能送我快递的时候,我不在家,可能我在家的时候,快递小哥送其他的地方的快递。所以嗯,这个时候,要么就是坐在家里等快递,要么就转载 2021-12-07 09:34:11 · 280 阅读 · 0 评论 -
如何保障消息100%投递成功?如何保证消息幂等性?
“今天无聊带你们撩一下消息的可靠性传输和幂等性可能出现消息丢失的情况? Producer在把Message发送Broker的过程中,因为网络问题等发生丢失,或者Message到了Broker,但是出了问题,没有保存下来 “针对这个问题,Producer可以开启MQ的事务,如果这个过程出现异常,进行回滚,但是有个很大的问题,你提交一个事务就会阻塞在那,非常影响性能,生产环境肯定不会开启事务,一般都是使用confirm机制 Broker接收到Message暂存到内存,Consumer转载 2021-12-07 09:32:14 · 248 阅读 · 0 评论 -
解决消息队列的数据积压问题
今天,就讲讲解决消息队列的数据积压的三个方案。1 概述最近生产环境的消息通知队列发生了大量的数据积压问题,从而影响到整个平台商户的交易无法正常进行,最后只能通过临时关闭交易量较大的商户来缓解消息队列积压的问题,经线上数据分析,我们的消息队列在面对交易突发洪峰的情况下无法快速的消费并处理队列中的数据,考虑到后续还会出现各种交易量突发状况,以下为针对消息队列(ActiveMQ)的优化过程。2 消息队列通信图3 问题定位与分析3.1 消息通知数据为什么会被积压?分析:平台中每个交易的发生转载 2021-12-07 09:30:32 · 771 阅读 · 0 评论 -
Redis、Kafka 和 Pulsar 消息队列对比
导语 |市面上有非常多的消息中间件,rabbitMQ、kafka、rocketMQ、pulsar、 redis等等,多得令人眼花缭乱。它们到底有什么异同,你应该选哪个?本文尝试通过技术演进的方式,以redis、kafka和 pulsar为例,逐步深入,讲讲它们架构和原理,帮助你更好地理解和学习消息队列。文章作者:刘德恩,腾讯IEG研发工程师。一、最基础的队列最基础的消息队列其实就是一个双端队列,我们可以用双向链表来实现,如下图所示: push_front:添加元素到队首; po.转载 2021-12-06 09:34:47 · 484 阅读 · 0 评论 -
综合对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ 四个分布式消息队列
前两天,师长发了一篇:RabbitMQ和Kafka到底怎么选?大家都觉得分析得不错,有的人就说,但是我用的是ActiveMQ....好的,这次,我们从17个角度,分别详细对比下Kafka、RabbitMQ、RocketMQ、ActiveMQ 四个分布式消息队列的优劣。 一、资料文档 二、开发语言 三、支持的协议 四、消息存储 五、消息事务 六、负载均衡 七、集群方式 八、管理界面 九、可用性 十、消息重复转载 2021-12-06 09:29:04 · 151 阅读 · 0 评论 -
RabbitMQ 七种队列模式应用场景案例分析
作者:我思知我在blog.youkuaiyun.com/qq_32828253/article/details/110450249七种模式介绍与应用场景简单模式(Hello World)做最简单的事情,一个生产者对应一个消费者,RabbitMQ相当于一个消息代理,负责将A的消息转发给B应用场景:将发送的电子邮件放到消息队列,然后邮件服务在队列中获取邮件并发送给收件人工作队列模式(Work queues)在多个消费者之间分配任务(竞争的消费者模式),一个生产者对应多个消费者,一般适用.转载 2021-12-06 09:27:49 · 140 阅读 · 0 评论 -
Kafka如果丢了消息怎么办?
Kafka 存在丢消息的问题,消息丢失会发生在 Broker,Producer 和 Consumer 三种。BrokerBroker 丢失消息是由于 Kafka 本身的原因造成的,Kafka 为了得到更高的性能和吞吐量,将数据异步批量的存储在磁盘中。消息的刷盘过程,为了提高性能,减少刷盘次数,Kafka 采用了批量刷盘的做法。即,按照一定的消息量,和时间间隔进行刷盘。这种机制也是由于 Linux 操作系统决定的。将数据存储到 Linux 操作系统种,会先存储到页缓存(转载 2021-12-06 09:26:37 · 335 阅读 · 0 评论 -
RocketMQ Consumer 学习笔记
学习一下RocketMQ- 消费者的原理和使用????消费模式消息消费有两种模式:1、并发消费并发消费是默认的处理方法,一个消费者使用线程池技术,可以并发消费多条消息,提升机器的资源利用率。默认配置是 20 个线程,所以一台机器默认情况下,同一瞬间可以消费 20 个消息。关注公众后码猿技术专栏获取更多面试资源。其中ConsumeMessageConcurrentlyService的构造函数如下:publicConsumeMessageConcurrentlyService(D.转载 2021-12-03 09:28:51 · 268 阅读 · 0 评论 -
如何保障消息100%投递成功、消息幂等性?
一、前言我们小伙伴应该都听说够消息中间件MQ,如:RabbitMQ,RocketMQ,Kafka等。引入中间件的好处可以起到抗高并发,削峰,业务解耦的作用。如上图:(1)订单服务投递消息给MQ中间件 (2)物流服务监听MQ中间件消息,从而进行消费我们这篇文章讨论一下,如何保障订单服务把消息成功投递给MQ中间件,以RabbitMQ举例。二、分析问题小伙伴们对此会有些疑问,订单服务发起消息服务,返回成功不就成功了吗?如下面的伪代码:上面代码中,一般发送消息就是这么写的..转载 2021-12-03 09:23:56 · 185 阅读 · 0 评论 -
Kafka 集群突破百万 partition 的技术探索
导语:本篇文章主要从元数据,controller 逻辑等方面介绍了如何解决支撑百万 partition 的问题,运营大规模集群其实还涉及到磁盘故障、冷读、数据均衡等数据方面的问题,监控和报警服务同样非常的重要。01前言对于小业务量的业务,往往多个业务共享 kafka 集群,随着业务规模的增长需要不停的增加 topic 或者是在原 topic 的基础上扩容 partition 数,另外一些后来大体量的业务在试水阶段也可能不会部署独立的集群,当业务规模爆发时,需要迅速扩容扩容集群节点。在不牺牲稳定性的前转载 2021-12-03 09:21:50 · 185 阅读 · 0 评论 -
RabbitMQ 总结
前言RabbitMQ是基于AMQP协议的,通过使用通用协议就可以做到在不同语言之间传递。AMQP协议核心概念 server:又称broker,接受客户端连接,实现AMQP实体服务。 connection:连接和具体broker网络连接。 channel:网络信道,几乎所有操作都在channel中进行,channel是消息读写的通道。客户端可以建立多个channel,每个channel表示一个会话任务。 message:消息,服务器和应用程序之间传递的.转载 2021-12-03 09:19:53 · 257 阅读 · 0 评论 -
Kafka 高可用原理
kafka 高可用转载 2021-12-02 09:25:45 · 523 阅读 · 0 评论 -
RabbitMQ 与 Kafka 差异
rabbitmq kafka转载 2021-12-02 09:24:12 · 183 阅读 · 0 评论 -
消息队列介绍
本文大纲: 消息队列概述 消息队列应用场景 消息中间件示例(电商,日志系统) JMS消息服务 常用消息队列 参考资料 一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题,以及实现高性能,高可用,可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件。目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。二、消息转载 2021-12-02 09:21:34 · 354 阅读 · 0 评论 -
深入理解 RabbitMQ
rabbitmq\消息队列转载 2021-12-02 09:16:34 · 132 阅读 · 0 评论 -
rocketmq如何保证消息的不丢失
不知道大家对于这个问题遇到过没有,或者大家听到这个问题的第一反应是什么,应该如何做,如何避免消息丢失,一起来看看首先我们知道rocketmq的一个消息从生产到最终的消费过程需要经历总共三个阶段,或者说会经过三个地方,分别是producer的发送端、broker的持久化机制、以及consumer的消费端从生产者producer的角度:消息生产之后传递到broker,如果消息未能正确的存储到broker中,算作消息丢失从broker的角度:消息默认保存到broker的内存中,异步保存到磁盘上,如转载 2021-10-28 09:40:25 · 4034 阅读 · 0 评论