Pulsar 的消息最大限制默认为 5MB,该数值是否为压缩加密之后的值?那么压缩之前是多少?

  1. Topic 的压缩是由客户端发送命令完成的。这里说的 Pulsar 最大消息限制不是指压缩加密后的消息;

  2. 消息大小 5MB 指服务接收到的数据包大小,是压缩后的大小,因为压缩是在客户端进行的;

  3. maxMessageSize = Commands.DEFAULT_MAX_MESSAGE_SIZE; //默认的消息最大尺寸= 5 * 1024 * 1024,这里的设置指的是 Producer 可以发送的最大消息尺寸 (default message size for transfer);

  4. byte [] data = new byte[dataLength - 12]; 最大可以发送的数据部分是 Commands.DEFAULT_MAX_MESSAGE_SIZE - 12,12 指的是 entryId 和 length 所占字节数。