我最近一直在研究 NServiceBus,因为我认为消息传递是减少系统之间依赖关系的好方法。但是,让我印象深刻的第一件事是消息发布者和所有订阅者必须共享消息定义 DLL。在这种情况下会发生什么?:
假设有一个处理客户数据的中央系统。每当客户记录发生更改时,它都会发布一条包含姓名和地址的消息。这有十个订阅者,它们在收到消息时更新他们的本地数据副本。
有一天,需求发生了变化,其中一位订户也需要客户的电话号码。消息、发布者和受影响的订阅者都更新为处理电话号码,它们都被重新编译并发布。
其他九个订户是否会继续不受影响?它们会继续使用旧的 Message DLL,还是都需要使用新的 DLL 进行更新、重新编译和发布?