【问题标题】:implementation of 'Multiservice' cascade action request for Java AWS microservice app为 Java AWS 微服务应用程序执行“多服务”级联操作请求
【发布时间】:2021-06-18 21:31:42
【问题描述】:

我在微服务架构方面还不是很成熟,所以我被以下任务卡住了:

服务 A 有一个请求,该请求应触发其他服务的一系列级联删除操作:

  1. 服务 A(使用实际删除 API 调用的服务)应从弹性搜索中删除请求的数据(服务 A 直接与 ES 通信)
  2. 由于此删除操作,服务 B 应从 DynamoDB 中删除所有内容(服务 B 直接与 Dynamo 通信)
  3. 服务 C 应从 RDB 中删除数据(服务 C 直接与 RDB 通信)
  4. 与请求数据相关的 S3 存储数据也应删除。
  5. Redshift 数据也应该删除

当然这个请求必须是异步的。而且我想提出一种轻量级的决定(至少不为此引入 Kafka :D)。

我正在使用弹簧靴。

你能不能给我一些想法。

【问题讨论】:

    标签: java amazon-web-services amazon-s3 amazon-dynamodb microservices


    【解决方案1】:

    Gateway Aggregation Pattern 非常适合此用例。主要思想是将请求调度逻辑卸载到一个单独的组件(网关),该组件负责重试、断路、编组等。

    网关应该是一个薄层(它可以是另一个 spring-boot 应用程序),您可以使用 built-in support 以异步方式调度请求。

    如果您认为创建这个新层没有意义,您可以直接从您的应用调用其他服务(使用上面提到的内置异步支持)。

    【讨论】:

      猜你喜欢
      • 2018-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-03
      • 2017-07-03
      • 2011-08-02
      • 1970-01-01
      相关资源
      最近更新 更多