传奇中的公共交通延迟响应

2023-12-06

我正在研究在公共交通中使用传奇来协调跨多个服务的活动。传奇的生命周期很短 - 如果一切顺利的话不到 2 秒。

对于我的用例,我想使用请求/响应方法,即客户端请求命令,saga 处理该命令,在接收消息时经历一些状态更改,并最终响应启动 saga 的第一个命令,此时客户端会收到响应并可以显示 saga 的结果。

据我所知,此时上下文已不再知道初始请求。我如何回复以这种方式收到的消息?在处理第一个事件时,我可以坚持使用传奇数据,并用它来稍后回复吗?


谢谢阿列克谢。我意识到我可以将原始消息中的 ResponseAddress 和 RequestId 存储在传奇中,然后稍后构造一个 Send() 。

从原始请求中获取响应详细信息

MassTransit.EntityFrameworkIntegration.Saga.EntityFramework

    SagaConsumeContext<TSagaData, TMessage> payload;
    if (ctx.TryGetPayload(out payload))
    {                
       ResponseAddress = payload.ResponseAddress;
       RequestId = payload.RequestId ;                          
    }

发送响应

var responseEndpoint = await ctx.GetSendEndpoint(responseAddress);
await responseEndpoint.Send(message, c => c.RequestId = requestId);

UPDATE: The 文档已更新以包含更完整的示例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

传奇中的公共交通延迟响应 的相关文章

  • 大众运输消息输入错误

    我尝试通过 MassTransit 发布的消息遇到了基本类型问题 考虑以下 Serializable public abstract class Event CorrelatedBy
  • 有没有办法在设置消费者时定义Azure服务总线规则/过滤器?

    在多租户系统中引入 Azure 服务总线和 MassTransit 时 我正在探索我的选择 基本上 该系统由多项服务组成 其中一些是特定于租户的 而另一些则是共享的 服务在内部保存数据 租户数据是隔离的 每个租户都运行相同的服务集 只是他们
  • 传奇中的公共交通延迟响应

    我正在研究在公共交通中使用传奇来协调跨多个服务的活动 传奇的生命周期很短 如果一切顺利的话不到 2 秒 对于我的用例 我想使用请求 响应方法 即客户端请求命令 saga 处理该命令 在接收消息时经历一些状态更改 并最终响应启动 saga 的
  • 有没有办法从 MassTransit 获取原始消息?

    我有一个具有通用参数的消费者IEvent 该类型是所有消息的基接口 以及子接口IEvent还有一些其他属性 我希望能够访问具有嵌套类型的所有属性的原始消息 而不仅仅是IEvent范围 这些属性可以通过 RMQ 管理仪表板查看 我认为应该有一
  • Localstack 与 MassTransit 未收到消息

    我在使用 LocalStack 测试 MassTransit 时遇到问题 但在 AWS 中使用真正的 SNS SQS 一切正常 因此我怀疑这是 LocalStack 的问题 除非 MassTransit 需要配置 ServiceURL 以外
  • MassTransit 将消息速率上限限制为 10

    我设置了一个与 RabbitMQ 配合使用的公共交通消费者服务 但我不知道如何提高消费者的速度 它似乎硬性限制为每秒接收 10 条消息 我已经尝试过此处列出的步骤 https groups google com forum msg mass
  • 配置要在 Consumer 中传递的端点时添加元数据

    因此 当我配置端点并设置ep Consumer
  • 将值添加到 MassTransit.RabbitMq 中的标头

    我正在使用 MassTransit 3 0 0 0 我很难理解如何在请求 响应场景中拦截消息 并将一些信息添加到我可以在接收器端读取的标头字段 我正在看中间件 http masstransit project com MassTransit
  • CQRS 项目是否需要像 NServiceBus 这样的消息传递框架?

    过去 6 个月的学习曲线充满挑战 CQRS 和 DDD 是罪魁祸首 这很有趣 我们的项目已经完成了 1 2 我还没有时间深入研究的领域是消息传递框架 目前我不使用 DTC 因此如果我的读取模型未更新 那么很可能会出现读取和写入数据库之间的不
  • MassTransit - 等待所有活动完成然后继续处理

    如果我有很多活动 是否会导致资源阻塞或请求超时 这是我的场景 我有一个 api 控制器 它向消费者发送订单请求 我使用请求 响应模式来接收错误信息来自消费者的属性并基于该属性响应返回 如果它为空我想返回OK 否则 返回BadRequest
  • 为什么 MassTransit 消息传递中不允许使用结构体?

    消费者界面在MassTransit所有人都期望消息模型是类而不是结构 由于它们都是内部接口 我必须说那里的设计非常好 这是显示约束的通用容器类 直接获取从源代码来看 https github com MassTransit MassTran
  • 派生类型不会发布给 MassTransit 中的消费者

    我在发布派生类型的通用消息以及使用 MassTransit v2 8 0 调用处理程序时遇到问题 如果我发布一条类型的消息HtmlBlockNewMessage 消费者永远不会被调用 如果我发布一个ServiceBusMessage反对并改
  • 如何覆盖 MassTransit 默认交换和队列拓扑约定?

    正如 在我关于SO的一个问题中 所指出的 为什么 MassTransit 中的简单配置会创建 2 个队列和 3 个交换机 https stackoverflow com questions 56064182 why a simple con
  • nServiceBus、公共交通、Rhino 服务总线、其他?

    只是做一些快速的尝试 以可能使用消息传递系统来处理良好解耦的工作流系统中的文件 人们发现使用上述每个框架的优点和缺点是什么 与带有 WCF 绑定和 或非 MSMQ 解决方案的手动 MSMQ 系统相比 使用这些有哪些优势 我建议远离手动解决方
  • 如何通过 InMemoryTestHarness 成功驱动 MassTransitStateMachine?

    跟进 如何编写 MassTransitStateMachine 单元测试 https stackoverflow com questions 49763600 how to write masstransitstatemachine uni
  • 在点网核心应用程序中使用 RabbitMQ 跳过 MassTransit 中的队列

    我有三个项目 一个是Dot net core MVC 两个是API项目 MVC 正在调用一个 API 来获取用户详细信息 当询问用户详细信息时 我通过 MassTransit 向队列发送消息 我看到跳过队列 第三个项目中有消费者 即API项
  • 公共交通所有故障消息由一名故障消费者处理

    如何拥有一个通用消费者来处理所有故障消息 我是否需要为每条故障消息注册故障消费者 为何不消费Fault public class WantAllFaultsGimmeThem IConsumer
  • MassTransit 是否支持基于 HTTP 传输的 MSMQ?

    HTTP 传输自 MSMQ 3 0 起就可用 但恐怕 MassTransit 不提供使用 HTTP 协议作为队列之间的传输协议的功能 关于这个有一个非常相似的问题here https stackoverflow com questions
  • MassTransit 生成我想忽略的_skipped 队列

    任何人都可以猜出问题是什么 因为我不知道如何解决这个问题 大众运输产生 skipped队列 我不知道为什么它会生成这些队列 它是在执行发布请求响应时生成的 请求客户端是使用 MassTransit RequestClientExtensio
  • MassTransit AzureServiceBus 生成的队列

    我有一个托管在 Azure Service Fabric 解决方案中的 MT 设置的工作配置 我有一个发送消息的 API 和一个读取消息的无状态应用程序 在无状态应用程序中 我告诉它使用类型的消息TestMessage具有以下内容 cont

随机推荐

  • 如何让触摸事件将焦点保持在它启动的小部件上?

    假设我有一个 ListView 其中一行是我的自定义视图 用户在自定义视图内部进行触摸 gt 自定义视图将处理此触摸事件 用户在自定义视图的区域内继续此触摸序列 gt 自定义视图也可以处理这些事件 问题 当用户将手指拖动到自定义 View
  • 错误 OAuthException“消息”:“邮箱需要 read_mailbox 扩展权限。”

    我在尝试访问 Facebook Graph api 邮箱时收到此错误 https graph facebook com me inbox access token
  • 防止加载多边形外部的图块

    有没有办法防止加载多边形之外的图块 我发现的最接近的例子在这里 http jsfiddle net LsvDk 23 var polygon L multiPolygon 51 509 0 08 51 503 0 08 51 503 0 0
  • 无法点击java selenium中的按钮?

    HTML 代码
  • 返回上一个 TabActivity

    我该如何解释我的问题 我有一个使用选项卡的应用程序 通过意图 而不是视图 我已经在每个视图中实现了导航 没有遇到任何问题 但我需要从全屏和横向模式下的 Activity 之一内的 ListView 启动视频播放器 因此没有选项卡 但是 当我
  • 如何阻止 Apache httpd 拒绝 HTTP PATCH 请求?

    我正在致力于实施JSON 补丁在 Bitnami Tomcat Stack 上使用 Java servlet 的规范 在 servlet 端 我通过重写 HttpServlet service 方法来处理 HTTP PATCH 方法 如下所
  • 调试设备上的 iOS/AIR 内容

    我在 FlashDevelop v 4 0 中创建了一些 Flash 内容 并将其转换为 ipa 并放在设备上 我想在设备上运行时调试内容 因为它给了我一些意想不到的行为 是否可以通过 FlashDevelop 远程调试在物理设备上调试 A
  • URLConnection 和 Socket 哪个更快

    为了从远程 url 获取数据 哪种连接类型可以快速工作 URLConnection 或 Socket 两者都有不同的用途 具体取决于您的需求 一个socket可以实现almost一种双工类型的功能 而 url 连接可以连接到给定的 URI
  • gmail 和 parse_resource gems 之间的 Ruby 自动加载冲突

    Earlier 我询问 gmail gem 中的自动加载无法找到它想要加载的文件 在构建一个最小的脚本时 我发现当我没有包含 parse resource gem 时 gmail gem 加载了它的文件 The Gmail 宝石让您可以从
  • golang http超时和goroutines累积

    我使用goroutines实现http Get超时 然后我发现goroutines的数量一直在稳步上升 当达到1000个左右时 程序就会退出 Code package main import errors io ioutil log net
  • Android 2.2 上的 GCM SERVICE_NOT_AVAILABLE

    我在 Android 2 2 设备上调用 GoogleCloudMessaging register 时收到错误 SERVICE NOT AVAILABLE 我正在编写一个使用新的 Google Play 服务的 GoogleCloudMe
  • PHP Mysql 删除查询无法正常工作

    我正在从 MYSQL 数据库中提取产品列表 并对每个产品使用删除按钮 以防操作员想要删除该产品 问题是 每次我点击列表中任何产品上的删除按钮时 第一个元素都会被删除 我下面的代码有什么问题 Products page
  • 未排序向量上的 STL set_union 和 set_intersection

    下面是我所做的集合交集和并集测试的代码 我不明白为什么当我注释掉排序函数时输出不正确 为什么需要排序 或者我在这里遗漏了什么 让程序员首先负责对输入进行排序的技术原因是什么 是为了保证排序不会进行两次 如果向量已经排序并且算法再次对其进行排
  • 活动记录,其中连接表记录不存在

    我正在尝试获取连接表中不存在的所有记录的列表 这些模型是 User Game 和 MarkedGame 其中用户可以将游戏标记为已玩 这是多对多的关系 User gt MarkedGame lt Game 我想要的是所有游戏的列表haven
  • JavaScript 查询字符串[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 是否有任何 JavaScript 库可以根据查询字符串创建字典 ASP NET style 可以使用的东西 例如 var query window
  • 具有标准样式的谷歌地图自定义按钮

    有没有办法使用最新的 API 将自定义按钮添加到 Google 地图 以便它使用与其他标准按钮相同的样式 我将感谢演示该解决方案的示例代码 没有可以应用的默认类或其他任何东西 当 Google 地图更改时 您必须跟进开发并更改样式 对于当前
  • phpseclib sftp 使用私钥和密码连接

    无论如何 是否可以使用 phpseclib 或任何其他方法使用私钥和 ftp 密码连接 sftp SFTP 服务器同时使用密码和公钥身份验证的情况很少见 我的猜测是 您最有可能拥有的是受密码保护的私钥 如果是这样 您可以这样登录
  • 如何从 PHAsset 获取图像 URL?是否可以使用 PHAsset URL 将图像保存到文档目录?

    I used NSURL urlA info valueForKey PHImageFileURLKey 但是当我尝试使用 URL 保存图像时 URL 为零 NSData pngData NSData dataWithContentsOfU
  • 正则表达式使用Python正则表达式在文件中查找函数调用?

    我想要一个正则表达式 我将把它与 Python re 模块一起使用 它将在 python 文件中查找 python 函数调用 但我正在查找的函数调用周围会有一些警告 函数调用将有一个特定的名称 函数调用可以是链式的 但只有一个链式调用始终具
  • 传奇中的公共交通延迟响应

    我正在研究在公共交通中使用传奇来协调跨多个服务的活动 传奇的生命周期很短 如果一切顺利的话不到 2 秒 对于我的用例 我想使用请求 响应方法 即客户端请求命令 saga 处理该命令 在接收消息时经历一些状态更改 并最终响应启动 saga 的