使用MassTransit、.NET Core和RabbitMQ的设计挑战

aelbi1ox  于 2022-11-08  发布在  RabbitMQ
关注(0)|答案(1)|浏览(177)

我有一个产品与.NET核心和使用MassTransit为RabbitMQ消息代理。
我这里有两个微服务,如下所示:
1.产品微服务
1.产品特性
在我的应用中创建产品时,会触发ProductCreated事件,并在RabbitMQ中发布消息。
我的目标是在产品功能微服务中使用ProductCreated模式。此外,我不想在产品功能微服务中重新创建ProductCreated类。
我的解决方案是将产品微服务的域层放在NuGet上,然后将其添加到产品特性微服务中。如果ProductCreated模式将被更改,我必须重新打包ProductCreated模式,并再次将其放在NuGet上,最后在产品特性微服务中升级包版本。
有没有办法克服这个挑战?或者有没有更好的解决办法?

pbossiut

pbossiut1#

创建一个带有消息协定的共享NuGet包是一个相当常见的解决方案,也是许多团队使用的解决方案。
只要消息协定是向后兼容的,以前的协定版本的使用者就不会有任何问题。这需要谨慎和规范,但并不困难。

相关问题