概述
由于网络问题,我们很难保证生产者发送得消息能100%到达消息队列服务器,也就是说有消息丢失得可能性,因此,生产者就必须具有消息丢失检测和重发机制,也就是我们常说得消息队列得事务机制。 不可能把可靠性得保证全部交给TCP,TCP只保证了传输层得可靠传输,但是无法保证与应用层得交互是否出错,TCP无法给应用层任何反馈,因此必须在应用层处理差错。
同步的事务---停止等待
所谓停止等待协议就是没发送完一组数据后,等待对方确认并且收到确认后,在发送下一组数据。
同步的事务--连续的ARQ
类似于TCP滑动窗口模型
异步的事务---回调机制
生产者在发送消息的时候,注册一个回调机制,这样生产者就不用停下来等待确认了,而是可以一直持续发送消息,当消息到达消息队列服务器的时候,服务器便会调用生产者注册的回调函数,告知生产者消息是成功还是失败,进而进一步处理,提供并发量。