client——重点笔记

248 阅读1分钟

1、广播模式不会重试

2、广播模式的顺序模式和集群模式的顺序模式有一些不一样

3、顺序模式如果不是自动提交,那offset怎么提交的

4、顺序模式如果不设置最大重试次数,则消息会在客户端无限重试

5、集群模式的顺序模式为啥要在服务端进行锁定

6、client到一个broker和ns的连接只有一个

7、发送重投

如果是同步发送,依赖于retryTimesWhenSendFailed和retryAnotherBrokerWhenNotStoreOK两个参数

当retryAnotherBrokerWhenNotStoreOK是false的时候,抛出异常则重试,不抛出则不重投。retryAnotherBrokerWhenNotStoreOK=true,抛出异常或者发送结果不是SEND_OK都会重投。

重投次数由retryTimesWhenSendFailed控制。

如果是异步发送,则依赖于retryTimesWhenSendAsyncFailed这个参数。如果有返回响应报文则不会重试了,

如果是ResponseCode.FLUSH_DISK_TIMEOUT,ResponseCode.FLUSH_SLAVE_TIMEOUT,ResponseCode.SLAVE_NOT_AVAILABLE,ResponseCode.SUCCESS,则直接回调sendCallback.onSuccess,其他的响应码则直接回调sendCallback.onException(e),其中e是MQBrokerException。如果没有响应报文则重投,重投次数由retryTimesWhenSendAsyncFailed控制。