RabbitMQ
未读
0x06【RabbitMQ】Stream 流
RabbitMQ Streams是一种持久复制数据结构,可以完成与队列相同的任务:它们缓冲来自生产者的消息,这些消息由消费者读取。然而,流与队列的区别在于两个重要方面:消息的存储和消费方式。 Streams为仅追加的消息日志建模,这些消息可以重复读取,直到过期。流始终是持久的和复制的。这种流行为的更
RabbitMQ
未读
0x04【RabbitMQ】Channel 信道
在RabbitMQ中,信道(Channel)是建立在客户端和RabbitMQ服务器之间的虚拟连接。信道是AMQP协议的一个重要概念,它的主要作用是提供一种轻量级的方式来复用单一的TCP连接,以减少操作系统建立TCP连接的开销。 含义和概念 轻量级连接:每个信道是一个轻量级的连接,它复用了底层的TCP
RabbitMQ
未读
0x02【RabbitMQ】Exchange 交换机
简介 Exchange:接收消息,并根据路由键转发消息到所绑定的队列 交换机属性: Name:交换机名称 Type:交换机类型 direct:精确匹配routing key topic:支持通配符模糊匹配routing key fanout:忽略routing key,广播消息到所有绑定的队列 he
RabbitMQ
未读
0x03【RabbitMQ】Connection 连接
在RabbitMQ中,连接(Connection)是指客户端与消息代理服务器之间的TCP连接。AMQP协议是一个基于TCP的高级别的协议,它在TCP的基础上定义了一系列的命令和数据流,用于消息的发布、订阅、交付和确认等。 概念 TCP连接:Connection是建立在TCP协议之上的,它是网络通信的
RabbitMQ
未读
0x01【RabbitMQ】基本概念
Binding-绑定 Exchange和Exchange、Queue之间的连接关系 Binding中可以包含RoutingKey或者参数 Queue-消息队列 消息队列,实际存储消息数据 Durability:是否持久化。Durable:是;Transient:否; Auto Delete:自动删除
Kafka
未读
分区分配策略及再平衡
基本概念 1、一个consumer group中有多个consumer组成,一个topic有多个partition组成,现在的问题是,==到底由哪个consumer来消费哪个partition的数据==。 2、Kafka有四种主流的分区分配策略:==Range、RoundRobin、Sticky、C
Kafka
未读
Leader及Follower故障时的处理流程
基本概念 Log Start Offset:是起始位移,该副本中第一条消息的offset,如图所示,这里的起始位移是0,如果一个日志文件写满1G后(默认1G后会log rolling),这个起始位移就不是从0开始了。 log rolling:==是啥?== HW(high watermark):俗称
Kafka
未读
生产者如何提高吞吐量
可调参数 batch.size:批次大小,默认16k linger.ms:等待时间,修改为5~100ms compression.type:压缩类型,一般选择snappy RecordAccumulator:缓冲区大小,修改为64M 注意 这些参数的修改需要根据实际情况进行调整。