公众号:架构师与哈苏
关注公众号进入it交流群! 公众号:架构师与哈苏 不定时都会推送一些实用的干货。。。
posts - 305,comments - 4,views - 10万

随笔分类 -  消息队列

设计MQ的思路
摘要:分布式 首先这个mq得支持可伸缩性吧,就是需要的时候快速扩容,就可以增加吞吐量和容量,那怎么搞?设计一个分布式系统,参照一下kafka的设计理念,broker->topic->pratition,每个partition放一个机器,就存一部分数据。如果现在资源不够了,简单呀,给topic增加parti 阅读全文
posted @ 2021-11-11 11:06 公众号/架构师与哈苏 阅读(61) 评论(0) 推荐(0) 编辑
消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?大量消息持续积压几个小时,怎么办?
摘要:消息积压处理办法1:临时紧急扩容 先修复consumer的问题,确保其恢复消费速度,然后将现有consumer都停掉。新建一个topic,partition是原来的10倍,临时建立好原先10倍的queue数量。然后写一个临时的分发数据的consumer程序,这个程序部署上去消费积压的数据,消费之后不 阅读全文
posted @ 2021-11-11 10:40 公众号/架构师与哈苏 阅读(330) 评论(0) 推荐(0) 编辑
kafka数据丢失的场景
摘要:消费者弄丢数据 唯一可能导致消费者弄丢数据的情况,就是说,你那个消费到了这个消息,然后消费者那边自动提交了offset,让kafka以为你已经消费好了这个消息,其实你刚准备处理这个消息,你还没处理,你自己就挂了,此时这条消息就丢咯。 这不是一样么,大家都知道kafka会自动提交offset,那么只要 阅读全文
posted @ 2021-11-10 15:40 公众号/架构师与哈苏 阅读(158) 评论(0) 推荐(0) 编辑
kafka高可用(集群)
摘要:kafka的分布式和高可用 kafka的一个基本架构:多个broker组成,一个broker是一个节点;你创建一个topic,这个topic可以划分成多个partition,每个parttition可以存在于不同的broker上面,每个partition存放一部分数据。这是天然的分布式消息队列。 实 阅读全文
posted @ 2021-11-10 09:40 公众号/架构师与哈苏 阅读(186) 评论(0) 推荐(0) 编辑
RabbitMQ的集群模式
摘要:单机模式(生产基本不用) 普通集群模式 默认模式,以两个节点(rabbit01,rabbit02)为例来进行说明,对于Queue来说,消息实体只存在于其中一个节点rabbit01(或者rabbit02),rabbit01和rabbit02两个节点仅有相同的元数据,即队列结构。当消息进入rabbit0 阅读全文
posted @ 2021-08-30 17:10 公众号/架构师与哈苏 阅读(192) 评论(0) 推荐(0) 编辑
如何保证消息的顺序性
摘要:先看看顺序会错乱的场景:RabbitMQ: 一个queue,多个consumer,这就乱了 拆分多个queue,每个queue一个consumer,就是多一些queue而已,确实是麻烦点;或者就一个queue但是对应一个consumer,然后这个consumer内部用内存队列做排队,然后分发给底层不 阅读全文
posted @ 2021-08-30 16:36 公众号/架构师与哈苏 阅读(59) 评论(0) 推荐(0) 编辑
如何解决数据丢失问题
摘要:rabbitmq数据丢失,分为生产者丢数据,消息队列丢数据和消费者丢数据。 生产者数据丢失 在生产者发送到RabbitMQ时有可能因为网络问题导致投递失败,从而丢失数据。 方案1:rabiitmq事物 采用rabbitmq提供的事务功能 生产者发送数据之前开启rabbitmq事务(channel.t 阅读全文
posted @ 2021-08-30 15:36 公众号/架构师与哈苏 阅读(205) 评论(0) 推荐(0) 编辑
消息队列怎么保证消息有没有重复消费(幂等性)?
摘要:普通业务控制幂等性 1.mysql唯一索引 2.token机制(请求前生成一个token,请求时携带这个token,如果这个token在redis中没有则继续,有则 有请求进行中) 3.mysql悲观锁,乐观锁(推荐使用乐观锁) 4.分布式锁(redis,zookeeper) 问题的原因 我看先来看 阅读全文
posted @ 2021-05-10 14:13 公众号/架构师与哈苏 阅读(325) 评论(0) 推荐(0) 编辑
消息队列优缺点和选型
摘要:消息队列的优点 削峰: 比如:在一天中2点的访问量突然爆发,没用MQ的话系统,根本承受不住这种压力,数据库直接down掉,有了MQ会把突增的请求放入,慢慢消费掉。 解耦: 比如说有两个服务A和B,A把消息放到MQ中,B来进行消费。A只需要把消息放到MQ中,不用关心否有人进行消费。B只需要有消息就从M 阅读全文
posted @ 2021-05-10 10:57 公众号/架构师与哈苏 阅读(312) 评论(0) 推荐(0) 编辑
Centos7上安装rabbitmq和使用
摘要:github rpm地址: https://github.com/rabbitmq/erlang-rpm 要安装rabbitmq先安装它的语言 创建erlang repo /etc/yum.repos.d/rabbitmq-erlang.repo # In /etc/yum.repos.d/rabb 阅读全文
posted @ 2020-09-18 12:13 公众号/架构师与哈苏 阅读(301) 评论(0) 推荐(0) 编辑
docker部署RabbitMq
摘要:快速安装 docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.8.6-management docker启动 docker run -d -it --name myrabbitmq -p 5672:56 阅读全文
posted @ 2020-09-17 13:25 公众号/架构师与哈苏 阅读(201) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示