eonx-com/easy-request-id

在多个项目中唯一标识每个请求

安装次数: 72,613

依赖者: 0

建议者: 0

安全: 0

星标: 1

关注者: 4

分支: 0

公开问题: 0

类型:symfony-bundle

6.0.0 2024-08-15 12:18 UTC

This package is auto-updated.

Last update: 2024-09-19 04:49:18 UTC


README

---eonx_docs--- 标题:介绍 重量:0 ---eonx_docs---

微服务基础设施很常见,一个请求可能涉及N个不同的应用程序相互发送请求,并且很难将这些应用程序中发生的事件联系起来。本包的目标是在PHP项目中创建一种标准方式,以解决/共享项目之间的ID,从而使请求的链接变得更容易!

它基于两个不同的ID

  • request_id: 每个项目的特定请求ID
  • correlation_id: 对于相同初始请求,跨项目共享的ID

除了为您解决这些ID之外,此包还提供了与不同包的集成,以自动将那些ID包含到您的


依赖项

此包依赖于以下包,请直接查看它们的文档


要求包(Composer)

安装此包的推荐方法是使用 Composer

$ composer require eonx-com/easy-request-id

用法

此包基于单个服务,在您需要的地方提供requestId和correlationId

// src/Controller/MyController.php

namespace App\Controller;

use EonX\EasyRequestId\Common\Provider\RequestIdProviderInterface;

final class MyController
{
    public function __construct(private RequestIdProviderInterface $requestIdProvider)
    {
    }

    public function __invoke()
    {
        $requestId = $this->requestIdProvider->getRequestId();
        $correlationId = $this->requestIdProvider->getCorrelationId();

        // Use the IDs in your logic...
    }
}