[译]Ocelot - Tracing】的更多相关文章

原文 Ocelot是使用的Butterfly这个项目来实现这个的. 在ocelot要使用tracing, 首先得安装相应的包: Install-Package Ocelot.Tracing.Butterfly 然后再ConfigureServices方法里面添加如下代码: services .AddOcelot() // 下面这个扩展方法来自Ocelot.Tracing.Butterfly包 .AddButterfly(option => { // 这个是butterfly服务器的地址 opti…
原文 目录 Big Picture Getting Started Configuration Routing Request Aggregation Service Discovery Authentication TODO Authorisation TODO Rate Limiting Caching Quality of Service Headers Transformation Claims Transformation Logging Tracing Request Id / Co…
原文 可以为HttpClient添加delegating handlers. Usage 为了添加delegating handler需要做两件事. 首先如下一样创建一个类. public class FakeHandler : DelegatingHandler { protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancell…
原文 可以针对每个ReRoute设置对下游服务的熔断器circuit breaker.这部分是通过Polly实现的. 将下面的配置添加到一个ReRoute下面去. "QoSOptions": { "ExceptionsAllowedBeforeBreaking":3, "DurationOfBreak":5, "TimeoutValue":5000 } ExceptionsAllowedBeforeBreaking必须大于0.…
原文 Ocelot支持基本的缓存,目前Ocelot的缓存是通过CacheManager project实现的. 下面的示例展示了如何启用缓存: s.AddOcelot() .AddCacheManager(x => { x.WithDictionaryHandle(); }) 为了在路由中使用缓存,需要在ReRoute中添加下面的配置: "FileCacheOptions": { "TtlSeconds": 15, "Region": &q…
原文 Ocelot支持对上游做访问限流,这样就可以保证下游不要负载太大了. 如果要启用访问限流,需要做如下配置: "RateLimitOptions": { "ClientWhitelist": [], "EnableRateLimiting": true, "Period": "1s", "PeriodTimespan": 1, "Limit": 1 } Clien…
原文 你可以指定一个service discovery provider,ocelot将使用它来找下游的host和port. Consul 下面的配置要放在GlobalConfiguration中.如果你没有指定host和port,那么就需要一个service discovery provider,默认使用的是Consul. "ServiceDiscoveryProvider": { "Host": "localhost", "Port…
原文 Aggregate ReRoutes用来组合多个ReRoutes,将它们的响应结果映射到一个响应中返回给客户端. 为了使用Aggregate ReRoutes,你必须像下面的ocelot.json中做些配置. 在下面的例子中,有两个ReRoutes,且它们都有一个Key属性,我们将使用ReRoute里面的key在Aggregate中组合ReRoute.Aggregate 和 ReRoutes的UpstreamPathTemplate不能重复.Aggregate可以使用ReRoute中出了R…
原文 Ocelot专为.NET Core而设计. .NET Core 2.1 安装 首先需要创建一个netstandard2.0项目,然后再通过nuget安装. Install-Package Ocelot Configuration 下面是个最基本的最简单的ocelot.json文件的内容. { "ReRoutes": [], "GlobalConfiguration": { "BaseUrl": "https://api.mybus…
原文 这里有一个配置的样例.配置主要有两个部分.一个是ReRoutes数组,另一个是GlobalConfiguration.ReRoute告诉Ocelot怎么处理上游的请求.Global configuration能让我们覆盖一些ReRoute的一些配置. { "ReRoutes": [], "GlobalConfiguration": {} } 这里是一个ReRoutes的配置样例(你不需要设置下面所有的配置): { "DownstreamPathTem…