【问题标题】:Message and RabbitMQ for microservices in ABP frameworkABP框架中微服务的Message和RabbitMQ
【发布时间】:2021-04-25 15:15:02
【问题描述】:

我目前正在使用the ABP framework 开发微服务,我想实现RabbitMQ 以实现分布式服务之间的内部通信。我会谈谈我做过的事情和我无法解决的问题。

我首先使用abp new LA -t app --no-ui 制作了 LA 和 LB 的两个项目。它们运行在不同的端口,分别是 localhost:5001 和 localhost:5002。我按照说明配置 RabbitMQ 并向 LA.Web 文件夹中的appsetting.json 添加了一些行(很抱歉没有直接在这里编写我的代码,因为它的格式很奇怪)。 LA.Web 中 LAWebModule.cs 的更改显示为 。这是位于 Application.Contracts 文件夹中的PriceChangeEtoPublishAsync()DistributedEventHandler 在 Application 的 App 服务类中。我想创建一个首先触发事件的接口,然后订阅该事件的那些服务可以处理该事件以通过 EF Core 更新存储在 AggregateRoot 实体中的信息。

当我打开 RabbitMQ 管理页面 (localhost:15672) 并且它们已成功连接。 RabbitMQ Management Page 表明 PublishAsync() 发布的事件未被确认。

所以我的问题是

  1. 为什么 PublishAsync() 未得到确认,该方法的执行以 Http 204 响应。
  2. 如果事件被触发,EventHandler 应该更新书价,但事实并非如此。

谁能帮我解决这个问题,我下一步该怎么做才能在 Abp 框架中实现 RabbitMQ。提前致谢。

【问题讨论】:

  • 最后。我找到了问题,请参阅更多详细信息 [github.com/abpframework/abp/issues/7104](github.com/abpframework/abp/issues/7104)。他们将来会解决这个错误,只需简单地添加“DispatchConsumerAsync”:“true”。

标签: .net asp.net-core rabbitmq microservices abp


【解决方案1】:

您可以将此标记为解决此问题的解决方案 这已在https://github.com/abpframework/abp/issues/7104 中修复

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-08
    • 1970-01-01
    • 1970-01-01
    • 2020-03-11
    • 2011-06-16
    • 1970-01-01
    • 2021-01-12
    • 1970-01-01
    相关资源
    最近更新 更多