我有两个服务,必须在两个系统上进行最小程度的集成:
具有所有这些,我需要将第二个服务与第一个服务集成在一起,我发现提供可以将同步调用转换为异步调用的API网关可能是有意义的。
我们使用:
我还没有找到任何可以将同步调用转换为异步调用的库或框架。无论如何,有一种方法可以定制解决方案:
[![显示概念的图] [1]] [1]
您对一些知名的库或模式有什么建议,可以帮助实现我们需要的解决方案吗?
我也想说我了解同步转换异步是不自然的,并且还有其他一些方式,例如在处理命令时使用Web钩子或回调URL将响应发送回调用者。 不幸的是,第三方服务无法为此提供此类API。
似乎有一个链接显示并命名了从同步到异步的转换-https://dzone.com/articles/patterns-for-microservices-sync-vs-async。 它被称为同步包装器
答案 0 :(得分:1)
我建议不要忘记等待异步任务完成的网关。恕我直言,HTTP轮询和WebHooks是两个可能更好的解决方案。
HTTP轮询-客户端不断查询数据状态。
Web Hooks-事件由后台作业触发,并在作业完成后将数据发送到目标HTTP端点。