我想知道如何将关联ID (或请求ID )传递给Guzzle 6请求。我没有找到任何可以满足我的问题所以我决定创建一个新的。
我的大多数微服务都在 Symfony3 堆栈上运行。他们通过HTTP相互通信,我使用Guzzle 6。我想在入口点(用例 - 命令或查询 - 启动)中生成一个唯一的请求ID ,并将其传递给其他服务的下一个请求。其他应用程序还应该在与其相关服务进行通信时获取已生成的请求ID ,并将其添加到以下请求中(依此类推......)。该请求ID将是有用的,例如记录事件。
我想到了最有效的方法。虽然在Symfony中处理时生成唯一ID并将其附加到请求元数据(例如在标题中)非常简单,但我不知道如何处理API客户端。到目前为止我的想法:
Request
的实现而不是Guzzle( PSR 7 这里)我不知道它是否合法:)当然我可以使用Symfony的PSR Http Bridge转换请求但我尚未使用它,我担心它会破坏注入HttpFoundation\Request
的类的兼容性。然而,到目前为止,这种解决方案似乎是最好的。我想听听你的一些意见。如何做到这一点并轻松维护它,保持清洁架构和清洁设计的原则?
感谢您的回答。