virtual代表一个资源隔离独立的虚拟空间

:::info
不管是生产还是消费都是Connection,一个连接对应n个通道Channel(一般只用一个),同时Channel对应到某个虚拟空间的某个交换机上
当然也可以直接发送到queue上,exchange支持路由策略
:::
两方都有connection(Channel),只不过生产者连接负责消息的发送,消费者连接负责消息的监听与消费
开发主要就是将producer和consumer用Java代码来实现,当然配置消息如何流转也是编码一部分
编码
声明交换机
factory创建Connection和createChannel之后,比如是生产者那么再创建一个Exchange
注意如果交换机不存在则自动创建,已存在,那么信息必须和已存在交换机完全一致,不然Exception

附加参数在管理界面上都有可视化选项
声明队列


参数分别为:队列名、是否持久化、是否本Connection独占(其他连接会报错)、无Connection时自动删除
消费模式:推/拉
一般情况下使用推,原因是消费者不确定服务端是否有消息,一直拉浪费资源,所以建议推模式,推送到consumer直接消费即可

消息监听与回溯(回调)
目的是为了建立可靠的消息链路,比如消息发送的回调失败,那么应当处触发发送失败、连接关系、通道关闭等监听然后回调其进行补救措施
原因是RabbitMQ是分 batch fsync2 磁盘
可以通过配置各种参数i,去将消息与生产消费者相关联,用于构建安全的消息体系(资料少)
如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !