概述:
- 使用规范主要从,生产、可靠性、和消费为轴线定义使用规范;
- kafka使用核心:削峰、解耦、向下游并行广播通知(无可靠性保证)和分布式事务,本规范仅从削峰、解耦、向下游并行广播通知论述;
1、可靠性(强制):
可靠性包括Producer发送消息机制的可靠性,RocketMQ Server(Broker)消息持久化刷盘机制和Broker主从节点消息同步机制,Consumer消息的消费机制。
1.1、Producer发送消息的可靠性:
1.1.1、核心参数设置:
生产端(Producer):
- sendMsgTimeout:消息发送超时时长,默认:3000,单位毫秒;
- retryTimesWhenSendFailed:同步发送重试次数,默认:2;
- retryTimesWhenSendAsyncFailed:异步发送重试次数,默认:2;
- compressMsgBodyOverHowmuc:消息body需要压缩的阈值,默认:4K;
- maxMessageSize:客户端验证,允许发送的最大消息体大小,默认:4M;
注:
- rocketmq 的 client 端及 broker 端均有对消息体大小是否超出 maxMessageSize 进行校验;
- client 端的 DefaultMQProducer 定义了 maxMessageSize,默认是 4M 大小;
- send 方法及 batch 方法都会校验消息的大小;
- 服务端 conf/broker.conf 可以指定 maxMessageSize 大小,如果需要修改 maxMessageSize