摘要:
(以kafka为例) 生产者 在 Kafka0.11 版本和 Pulsar 中都支持“producer idempotency”的特性,翻译过来就是生产过程的幂等性,这种特性保证消息虽然可能在生产端产生重复,但是最终在消息队列存储时只会存储一份 它的做法时给每一个生产者一个唯一的 ID,并且为生产的 阅读全文
posted @ 2023-06-12 16:23
上好佳28
阅读(91)
评论(0)
推荐(0)
摘要:
为什么消息会丢失?(三个消息可能丢失的地方) 1、消息在写到消息队列的过程中丢失 业务服务器和消息队列服务器可能会出现网络抖动,当出现了网络抖动,消息就会丢失。 1)消息生产者把消息发送给MQ,如果接收成功,MQ会返回一个ack消息给生产者 2)如果消息接收不成功,MQ会返回一个nack消息给生产者 阅读全文
posted @ 2023-06-12 16:22
上好佳28
阅读(73)
评论(0)
推荐(0)
摘要:
消息错乱场景 rabbitMQ 一个 queue,多个 consumer,生产者向 RabbitMQ 里发送了三条数据,顺序依次是 data1/data2/data3,压入的是 RabbitMQ 的一个内存队列。结果消费者2先执行完操作data2,然后是 data1/data3 kafka 一个 t 阅读全文
posted @ 2023-06-12 16:21
上好佳28
阅读(120)
评论(0)
推荐(0)
摘要:
传统队列的顺序性 传统队列在服务器上保存有序的记录,如果多个消费者消费队列中的数据, 服务器将按照存储顺序输出记录。虽然服务器按顺序输出记录,但是记录被异步传递给消费者, 因此记录可能会无序的到达不同的消费者。这意味着在并行消耗的情况下, 记录的顺序是丢失的。因此消息系统通常使用“唯一消费者”的概念 阅读全文
posted @ 2023-06-12 15:55
上好佳28
阅读(247)
评论(0)
推荐(0)
摘要:
kafka的主从同步 Kafka允许topic的分区拥有若干副本,所以当一个节点down掉时数据依然是可用的 创建副本的单位是topic的分区,每个分区都有一个leader和零或多个followers,所有的读写操作都由leader处理 一般分区的数量都比broker的数量多的多,各分区的leade 阅读全文
posted @ 2023-06-12 15:54
上好佳28
阅读(280)
评论(0)
推荐(0)
摘要:
Kafka的Producer、Broker和Consumer之间采用的是一套自行设计的基于TCP层的协议 由于UDP协议是一种不可靠的传输协议,所以Kafka系统采用TCP协议作为服务间的通信协议 通信 通信模型 Reactor线程模型 Java NIO中的selector模型。最简单的Reacto 阅读全文
posted @ 2023-06-12 11:27
上好佳28
阅读(97)
评论(0)
推荐(0)

浙公网安备 33010602011771号