开始
注入
把处理结果 返回回去。复制之前的代码
设置监听
启动4个微服务,调试
今天刚写的业务逻辑这里加上断点
点击发送,进入到了断点
直接跳过,又到了收到消息的断点
点击下一步,看看收到的消息
这是商家微服务的返回
跳过继续,到了骑手微服务的返回
里面有骑手的id
再次跳到结算微服务收到消息
然后一步步的往下跟。它会把po组装好。
点击跳过,又收到了消息。
正逻辑是做完逻辑处理发送给exchange,然后就不管了。但是发送出去消息后,自己又收到了。
监听的队列就是绑定在exchange上的,往这个exchange再发消息。它是fanout类型的。广播出去。
往fanout的exchange上发,我的队列还绑定在这个exchange上所以一定会收到。
重新梳理
如果使用fanout让两个服务器实现通信的话。他俩就不能用一个exchange。那么我发给你的消息,我自己也能收到。
所以这个地方我们不应该改回来。它需要用两套exchaneg
orderService往这个exchange里面发
结算的微服务
结算服务往这里面发
然后把自己绑定在这个exchange上。
发送的逻辑修改为
绑定的队列
重启服务,测试
在rabbit的控制台查看
把刚才绑定错的 撤回来。
再次请求测试
最终受到的消息。
跳过继续,受到的最后的结算的id
下一节从这里开始,实现最后一个微服务
fanout不能作为两个微服务之间的叫唤消息。所以要分成两个exchange单项的传递消息。
fanout适合一对多,通知或者事件类的消息。