我看老师您写的结算微服务声明的交换机是:
channel.exchangeDeclare(
"exchange.settlement.order",
BuiltinExchangeType.FANOUT,
true,
false,
null
);
而订单微服务声明的交换机是:
channel.exchangeDeclare(
"exchange.order.settlement",
BuiltinExchangeType.FANOUT,
true,
false,
null
);
我自己的理解是:结算微服务应该是声明的应该是自己接收的信息,方向应该是订单—>结算,所以我觉得应该是exchange.order.settlement,而不是exchange.settlement.order。同理,订单微服务针对结算接收的消息应该是结算—>订单,所以应该是exchange.settlement.order,而不是exchange.order.settlement。
发送消息的时候,结算微服务发送的交换机才是exchange.settlement.order,因为这个时候的方向是结算—>订单;而订单微服务发送的交换机是exchange.order.settlement,这个时候的方向是订单—>结算。
希望老师能指点一下疑惑。