当前位置: 首页 > 知识库问答 >
问题:

如何在saga模式中查询另一个微服务

仲孙鸿飞
2023-03-14

我正在开发一个spring boot微服务应用程序,采用Saga编排模式和每个服务的数据库设计。我明白模式应该是异步的。然而,我有一个用例,其中我有一个微服务需要从另一个服务查询数据。

以下是上下文:

共有1个答案

范翰飞
2023-03-14

解决这个问题的一个很好的模式是事件源。Customer服务在执行数据操作(例如customerId和customerName事件)时发送一个事件/消息,而Order服务侦听这些事件。如果需要,订单服务还可以请求事件/消息的重播。这样可以解耦服务,防止静态的相互依赖,等等。希望这能有所帮助。如果需要,我可以详细说明。

 类似资料:
  • 我正在使用React,使用NodeJS将数据发送到我的PostgreSQL数据库。我的songs表中有一个外键,它引用了albums表中的id。我的问题是,如何将我第一次插入的id返回到第二次插入的相册中?以下是我目前的代码: 我还没有将专辑id添加到我的歌曲插入中。我在等着看如何把唱片id的值输入到我的第二个插页中?

  • 问题内容: 我正在为约会应用程序构建Mongoose模式。 我希望每个文档都包含对它们所经历过的所有事件的引用,其中另一个是系统中具有自己模型的架构。如何在架构中对此进行描述? 问题答案: 您可以使用 人口 来描述它 填充是用其他集合中的文档自动替换文档中指定路径的过程。我们可以填充单个文档,多个文档,普通对象,多个普通对象或查询返回的所有对象。 假设您的事件模式定义如下: 为了显示如何使用填充,

  • 各位专家下午好, 我需要调用3个REST API的顺序调用,作为单个客户机调用GET/offers的一部分,以检索百货公司不同通道中每种产品的可用报价,如下所示 然后在循环中检索每个并调用第二个API以获得产品 然后在循环中检索每个并调用第三个API以获得提供 最后,整理所有的响应,将报价列表发送给客户。

  • 问题内容: 当photoId直接在语句上而不是变量时,以下代码完全没有问题。 但是以下内容将无法正常运行,这可能是导致未选择该内容的原因。 这是在while循环内。 谢谢。 问题答案: 在php a和a中有很大的不同,查询语法在查询周围是双引号,在变量周围是单引号。。尽管我建议您在查询中使用参数,而不是直接将变量直接放入查询中 根据我的建议,您应该将查询更改为此: 这只是它的基本要点…如果您想了解

  • 我正在使用尤里卡发现服务器。我可以通过通过使用服务名从另一个微服务调用一个微服务,这对Eureka服务器是可见的。我听说在不久的将来将被弃用。 我还可以通过使用从另一个微服务调用一个微服务,但在本例中,我需要使用整个主机名。我不能叫他们服务名称。 是的,我可以从属性文件设置基本url,这样不需要重新启动jar,我们就可以更改基本url。如果我们这样做,那么我们可能不需要任何discovery服务器

  • 概述 Saga模式是SEATA提供的长事务解决方案,在Saga模式中,业务流程中每个参与者都提交本地事务,当出现某一个参与者失败则补偿前面已经成功的参与者,一阶段正向服务和二阶段补偿服务都由业务开发实现。 理论基础:Hector & Kenneth 发表论⽂ Sagas (1987) 适用场景: 业务流程长、业务流程多 参与者包含其它公司或遗留系统服务,无法提供 TCC 模式要求的三个接口 优势: