• [译]Ocelot


    原文

    Ocelot可以通过header的形式发送一个requestid。ocelot会将这个requestid转发到下游服务。

    如果在日志配置中设置了IncludeScopestrue,那么request id会打在日志里面。

    可以通过两种方式使用requestid。

    1.Global - 配置如下GlobalConfiguration。这将作用于所有的请求

     "GlobalConfiguration": {
      "RequestIdKey": "OcRequestId"
    }
    

    推荐使用GlobalConfiguration,除非你想为一个ReRoute专门指定requestid。
    2. ReRoute - ReRoute的优先级别比Global高。添加下面的配置到一个ReRoute下,它将覆盖GlobalConfiguration里面的requestid。

    "RequestIdKey": "OcRequestId"
    

    下面是日志界别为Debug的时候的日志信息:

    dbug: Ocelot.Errors.Middleware.ExceptionHandlerMiddleware[0]
          requestId: asdf, previousRequestId: no previous request id, message: ocelot pipeline started,
    dbug: Ocelot.DownstreamRouteFinder.Middleware.DownstreamRouteFinderMiddleware[0]
          requestId: asdf, previousRequestId: no previous request id, message: upstream url path is {upstreamUrlPath},
    dbug: Ocelot.DownstreamRouteFinder.Middleware.DownstreamRouteFinderMiddleware[0]
          requestId: asdf, previousRequestId: no previous request id, message: downstream template is {downstreamRoute.Data.ReRoute.DownstreamPath},
    dbug: Ocelot.RateLimit.Middleware.ClientRateLimitMiddleware[0]
          requestId: asdf, previousRequestId: no previous request id, message: EndpointRateLimiting is not enabled for Ocelot.Values.PathTemplate,
    dbug: Ocelot.Authorisation.Middleware.AuthorisationMiddleware[0]
          requestId: 1234, previousRequestId: asdf, message: /posts/{postId} route does not require user to be authorised,
    dbug: Ocelot.DownstreamUrlCreator.Middleware.DownstreamUrlCreatorMiddleware[0]
          requestId: 1234, previousRequestId: asdf, message: downstream url is {downstreamUrl.Data.Value},
    dbug: Ocelot.Request.Middleware.HttpRequestBuilderMiddleware[0]
          requestId: 1234, previousRequestId: asdf, message: setting upstream request,
    dbug: Ocelot.Requester.Middleware.HttpRequesterMiddleware[0]
          requestId: 1234, previousRequestId: asdf, message: setting http response message,
    dbug: Ocelot.Responder.Middleware.ResponderMiddleware[0]
          requestId: 1234, previousRequestId: asdf, message: no pipeline errors, setting and returning completed response,
    dbug: Ocelot.Errors.Middleware.ExceptionHandlerMiddleware[0]
          requestId: 1234, previousRequestId: asdf, message: ocelot pipeline finished,
    
  • 相关阅读:
    Vue demo
    netcore使用IOptions
    CS0656 缺少编译器要求的成员“Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create”
    vs删除空白行 注释
    RabbitMQ入门
    EF 大数据量批量处理
    常用链接字符串
    DEA使用git提交代码时,点了commit之后卡死在performing code analysis部分,或者performing code analysis结束后没有进入下一步操作。
    Ubuntu16.04安装MySQL5.7
    ubuntu16.04源码编译安装nginx1.14.2
  • 原文地址:https://www.cnblogs.com/irocker/p/ocelot-requestid.html
Copyright © 2020-2023  润新知