列举RocketMQ发送的三种策略 ?
参考答案:
RocketMQ提供了三种发送策略,分别是同步发送(Sync)、异步发送(Async)和单向发送(Oneway)。
- 同步发送(Sync):在同步发送模式下,发送方会等待消息被成功发送到消息队列服务器并收到确认消息后才返回发送结果给调用方。这种发送模式可以确保消息的可靠性和顺序性,适用于需要确保消息被正确处理的关键业务操作。
- 异步发送(Async):在异步发送模式下,发送方发送消息后不会阻塞等待,而是立即返回一个Future对象给调用方。发送方在后台线程中异步等待消息发送结果,并通过回调函数处理发送结果。这种发送模式可以提高消息发送的效率,适用于吞吐量较大的场景,如日志收集等。
- 单向发送(Oneway):单向发送是消息发送完之后就不管了,不管发送成功没成功,是最不可靠的一种方式。这种发送模式适用于对消息的可靠性要求较低,不需要等待确认消息的场景,如通知类消息等。
在选择发送策略时,需要根据具体的业务需求和场景来选择合适的发送模式。例如,对于需要确保消息的可靠性和顺序性的关键业务操作,同步发送模式是一个较好的选择。而对于日志收集等高吞吐量场景,异步发送模式可以提高消息发送的效率。对于不需要关注发送结果的通知类消息,可以使用单向发送模式。