开始

注入
image.png

image.png
把处理结果 返回回去。复制之前的代码
image.png

image.png

设置监听

image.png

助理这个地方,这是修改后的
image.png

启动4个微服务,调试

今天刚写的业务逻辑这里加上断点
image.png

image.png

image.png

点击发送,进入到了断点
image.png
直接跳过,又到了收到消息的断点
image.png
点击下一步,看看收到的消息
image.png
这是商家微服务的返回
image.png
跳过继续,到了骑手微服务的返回
image.png
里面有骑手的id
image.png
再次跳到结算微服务收到消息
image.png
然后一步步的往下跟。它会把po组装好。
image.png
点击跳过,又收到了消息。
image.png
正逻辑是做完逻辑处理发送给exchange,然后就不管了。但是发送出去消息后,自己又收到了。
image.png
监听的队列就是绑定在exchange上的,往这个exchange再发消息。它是fanout类型的。广播出去。
image.png
往fanout的exchange上发,我的队列还绑定在这个exchange上所以一定会收到。
image.png

重新梳理

如果使用fanout让两个服务器实现通信的话。他俩就不能用一个exchange。那么我发给你的消息,我自己也能收到。
所以这个地方我们不应该改回来。它需要用两套exchaneg
image.png
orderService往这个exchange里面发
image.png

image.png

结算的微服务

结算服务往这里面发
image.png
然后把自己绑定在这个exchange上。
image.png

发送的逻辑修改为
image.png
绑定的队列
image.png

重启服务,测试

在rabbit的控制台查看
image.png

把刚才绑定错的 撤回来。
image.png

image.png

image.png

再次请求测试

image.png
最终受到的消息。
image.png

image.png
跳过继续,受到的最后的结算的id
image.png
下一节从这里开始,实现最后一个微服务
image.png
fanout不能作为两个微服务之间的叫唤消息。所以要分成两个exchange单项的传递消息。

fanout适合一对多,通知或者事件类的消息。

结束