我以前曾经使用过RabbitMQ,只是使用它来推出消息。简单地说,这是一种调整的方式,因此尚不清楚某些基本概念和此操作的逻辑。
对于传统应用程序,如果您需要将信息发送到另一个应用程序,则只需发送请求即可!
生产者:连接服务 - >发送消息(带有消息,指定的交换机,指定的键) - >绑定以通过Switch+密钥消息发送到指定队列
仅来自Exchange,队列和RutingKey的三行才能确定从Exchange到队列的唯一行。
交换开关类型交换分配消息与该类型的不同分配策略不同。当前有四种类型:直接,粉丝,主题,标题。Headers匹配AMQP消息的标题,而不是路由键。此外,标题开关和直接开关是完全相同的,但是性能却大不相同。目前,它几乎不可用。因此,直接看到其他三种类型:
管理页面地址http:// localhost:15672/默认帐户密码访客/访客
安装AMQP客户端的软件包https://www.npmjs.com/package/amqplib
代码参考AMQPLIB仓库代码示例https://github.com/amqp-amqplib/tree/main/main/examples/tutorials
交付结束完成后,消息将成功发送到消息队列。实施方法:在本地数据库中构建消息表,以将消息数据和业务数据保存在同一数据库实例中,以便本地数据库事务机制可以使用。事务成功提交后,消息表中的消息将转移到消息队列。如果消息成功,则将删除消息表中的数据,否则将继续重新连接。
接收终端可以成功地从消息队列中使用消息。两个实现方法:
系统可用性降低:在引入消息队列之前,您不必考虑消息丢失或消息队列服务悬挂等,但是在引入消息队列后,您需要考虑这些问题!
系统复杂性提高:加入消息队列后,您需要确保尚未重复消耗消息,该消息的处理未正确处理,等等!
原始:https://juejin.cn/post/7095631133051879432