为异步批处理和同步UI请求提供微服务设计

时间:2017-03-06 11:41:46

标签: asynchronous request response batch-processing microservices

我们有一个微服务(用Java编写),其目的是根据各种业务规则验证请求,并将结果返回给源系统。我们在AWS上在ECS集群上的docker容器中运行它。

目前已针对批量请求实施

  1. 批处理系统发布有关主题的SNS消息。
  2. SNS订阅者将消息发布到微服务的SQS队列
  3. 微服务处理请求
  4. Microservice使用响应
  5. 发布有关其他主题的消息
  6. SNS订户将响应发布到批处理系统的SQS队列
  7. 批处理系统处理响应
  8. 我们现在有一个UI的用例来重用这个微服务中的逻辑。在这种情况下,UI应立即接收响应并将结果显示给用户。如果UI将消息发布到微服务的SQS队列(通过API网关),我们无法保证及时响应,因为队列中可能存在大量来自批处理系统的消息。我们应该为UI请求创建另一个微服务还是有另一种方式?

0 个答案:

没有答案