使用限制
只支持 Remoting SDK。更多说明查看SDK参考概述。
仅支持普通消息和顺序消息,不支持定时消息和事务消息。
顺序消息要求一批中所有消息具有相同的 Shardingkey 属性。
一批消息的全部消息大小(包含属性)总和不大于4M,一批的消息数量不大于 4096 条。
批量发送不支持客户端消息压缩。
批量发送的每一条消息都需要body大于0(同单条消息)。
批量发送的每一条消息都会经过属性校验,不得有非法字符(同单条消息)。
不支持批量的消费。
使用方式
String topic = "BatchTest";
List<Message> messages = new ArrayList<>();
messages.add(new Message(topic, "Tag", "OrderID001", "Hello world 0".getBytes()));
messages.add(new Message(topic, "Tag", "OrderID002", "Hello world 1".getBytes()));
messages.add(new Message(topic, "Tag", "OrderID003", "Hello world 2".getBytes()));
producer.send(messages);
Canal 适配
# 支持 Batch Send 的实例将可以将flatMessage属性设置为 true
canal.mq.flatMessage = true消息发送次数计算规则
消息收发次数 =
Max{ ⌈消息大小/ 4KB⌉, 实际消息条数}。例如,一次发送了10条消息,总消息大小为 50 KB,发送次数按照⌈50KB / 4KB⌉= 13次计算。该次数计算规则用于计费计量和限流TPS统计。
该文章对您有帮助吗?