随笔分类 -  MQ消息队列

摘要:君问归期未有期,巴山夜雨涨秋池。 内存队列和消息队列的主要区别体现在以下几个方面: 存储位置与范围:内存队列主要存储在系统的内存中,主要用于系统内部,特别是线程间的消息传递,以提高在高并发情况下系统的性能。而消息队列则更为广泛,可以在系统之间传递消息,用于分布式系统的集成,是消息的传输过程中保存消息 阅读全文
posted @ 2023-04-19 11:20 方达达 阅读(87) 评论(0) 推荐(0)
摘要:redis 和 kafka 都作为中间件缓存,各有千秋 redis 在秒杀场景中的优缺点: 优点: 高并发处理能力:Redis的并发处理能力能达到万级别甚至更高,非常适合处理秒杀场景中的瞬时大量高并发请求。 读多写少:秒杀场景中读请求(如商品库存查询)远大于写请求(如库存扣减和下单操作),Redis 阅读全文
posted @ 2023-04-03 12:44 方达达 阅读(146) 评论(0) 推荐(0)
摘要:望穿秋水之寒,无论如何也比不了,忘穿秋裤之冷。 确保消息的唯一性方法: 消息属性:RabbitMQ 允许在消息属性中添加唯一标识符,例如消息ID(message ID)或自定义属性。在发送消息之前,可以在应用程序中为每条消息生成一个唯一的标识符,并将其作为消息属性发送到RabbitMQ。接收方在接收 阅读全文
posted @ 2022-12-07 09:07 方达达 阅读(526) 评论(0) 推荐(0)
摘要:感情是可以磨合的,前提是,看脸。 零拷贝 零拷贝并不是不需要拷贝,而是减少不必要的拷贝次数。通常是说在 IO 读写过程中。 实际上,零拷贝是有广义和狭义之分,目前我们通常听到的零拷贝,包括上面这个定义减少不必要的拷贝次数都是广义上的零拷贝。其实了解到这点就足够了。 我们知道,减少不必要的拷贝次数,就 阅读全文
posted @ 2022-08-24 09:09 方达达 阅读(45) 评论(0) 推荐(0)
摘要:别人没回复,继续等,你会等到她的朋友圈。 不同的场景导致的拥堵已经对应的解决方案 1、实时/消费任务挂掉导致的消费积压的解决方法 如果在积压数据不多和影响较小的情况下,重新启动消费任务,排查宕机原因。 如果消费任务宕机时间过长导致积压数据量很大,除了重新启动消费任务、排查问题原因,还需要解决消息积压 阅读全文
posted @ 2022-08-03 09:02 方达达 阅读(188) 评论(0) 推荐(0)
摘要:熟练地运用,关我屁事和关你屁事,可以节省人生80%的时间。 redis 作为非关系性数据库,和作为消息系统的kafka是两个完全不同的东西,但是都是可以应用于队列方面进行应用,从而也就是有了对应的比较。 差异: 存储介质不一样: redis queue数据是存储在内存,虽然有AOF和RDB的持久化方 阅读全文
posted @ 2022-08-02 09:10 方达达 阅读(108) 评论(0) 推荐(0)
摘要:能力是一个人的长度;勤奋是一个人的宽度;善于抓住机遇构成这个人的高度。长度、宽度、高度的乘积,就能算出我们每个人的生命容量。 在kafka中,什么是rebalance? rebalance中文含义为再平衡。它本质上是一组协议,它规定了一个 consumer group 是如何达成一致来分配订阅 to 阅读全文
posted @ 2022-07-19 09:15 方达达 阅读(198) 评论(0) 推荐(0)
摘要:时间就是金钱,我在浪费时间?不~我只是在炫富! 什么是消息延呢? 比如淘宝里下单之后,15分钟未支付则订单会自动关闭,如何实现呢?这就涉及到延时消息了。我们在下单之后创建一个15分钟的延时消息,到15分钟后再收到一个订单关闭的消息处理订单关闭的逻辑即可。 如何实现消息的延迟性呢? 提到RabbitM 阅读全文
posted @ 2022-06-27 09:02 方达达 阅读(31) 评论(0) 推荐(0)
摘要:贫贱不能移的意思就是,穷就好好在家呆着,哪儿也别去。 什么是幂等? 幂等(idempotent、idempotence)是一个数学与计算机学概念。简单的来说就是一个操作多次执行产生的结果与一次执行产生的结果一致。 在高并发的情况下,会有大量的消息到达MQ,消费端需要监听大量的消息。这样的情况下,难免 阅读全文
posted @ 2022-06-16 09:18 方达达 阅读(87) 评论(0) 推荐(0)
摘要:这一秒不放弃,下一秒,就更绝望了。 如何确保消息100%投递成功呢? 1、保障消息的生产者成功发出 2、保障MQ服务端的成功接收 3、发送端收到MQ服务端(Broker)确认应答 4、完善的消息进行补偿机制 具体做法有2种方案: 方案一:消息落库,对消息状态进行打标(标识) 方案二:消息的延迟投递, 阅读全文
posted @ 2022-06-15 09:19 方达达 阅读(23) 评论(0) 推荐(0)
摘要:人生一世,即便是能够轰轰烈烈,也不会持久,平淡是最后的绝唱。人生的意义,深深蕴含于平凡生活中。平平淡淡才是真,明天太阳照样会照遍世界的每一个角落,我们都会开始我们看似平淡却又多姿多彩的生活…… RabbitMQ 模式 简单模式 - 一个生产者对应一个消费者 工作模式 - 一个生产者对应多个消费者 订 阅读全文
posted @ 2022-05-27 09:04 方达达 阅读(14) 评论(0) 推荐(0)
摘要:唯一比孤独更可怕的,是被人知道你孤独。 定义: RabbitMQ是一个基于AMQP协议的开源信息代理软件(简称消息中间件),RabbitMQ是使用erlang语言编写的,由于erlang语言的高并发特性,性能较好;吞吐量到万级,MQ功能比较完备,健壮,稳定、易用,跨平台,支持多种语言。 特点: 可靠 阅读全文
posted @ 2022-05-26 09:04 方达达 阅读(137) 评论(0) 推荐(0)
摘要:当你摔倒但周围没人笑的时候,你就知道你已经是个老年人了。 消息队列的概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步,削锋等问题。 实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。 目前在生产环境,使用较多的消息队列有ActiveMQ,RabbitM 阅读全文
posted @ 2022-03-10 09:09 方达达 阅读(37) 评论(0) 推荐(0)
摘要:趁着年轻多出来走走,不然你不会知道,呆在家里有多爽。 生产者 producer 在kafka 系统中的生产者产生的消息包含那几个部分 topic:往哪个topic生产消息。 partition:往哪个partition生产消息。 key:根据该key将消息分区到不同partition。 messag 阅读全文
posted @ 2022-03-01 09:02 方达达 阅读(45) 评论(0) 推荐(0)
摘要:别看别人表面上事事如意,其实他们背地里,也顺风顺水。 目的:数据清除的主要目的是删除过期的消息。过期的消息是指已经被消费者处理过的消息,或者因为某些原因无法被消费者处理的消息,这些消息会占用磁盘空间,导致系统性能下降,所以需要及时的清除。 清除策略的分类 kafka中清除策略的分类有2种:delet 阅读全文
posted @ 2022-02-26 08:58 方达达 阅读(228) 评论(0) 推荐(0)
摘要:人的一生,三分天注定七分靠打拼,剩下的九十分靠父母。 问题:如何保证数据不丢失问题? 答:内部机制,创建2个或者2个以上的副本,其中一个为Leader,其余的都是follower,然后分布在不同的broker上面。 问题:多个副本之间是如何进行同步的? 答:有一个客户端往一个Partition写入数 阅读全文
posted @ 2022-01-07 08:55 方达达 阅读(113) 评论(0) 推荐(0)
摘要:找对象还是眼光高点好,你总得为,没有人喜欢你找个借口吧。 原理图 Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于h 阅读全文
posted @ 2021-12-29 08:54 方达达 阅读(58) 评论(0) 推荐(0)