Ocelot.json完整配置文件
{ "Routes": [ { //服务名称,开启服务发现时需要配置 "ServiceName": "", //下游服务路由模板 "DownstreamPathTemplate": "/{url}", //下游服务http schema "DownstreamScheme": "http", //下游服务的地址,如果使用LoadBalancer的话这里可以填多项 "DownstreamHostAndPorts": [ { "Host": "192.168.1.205", "Port": 12001 }, { "Host": "192.168.1.205", "Port": 11001 } ], "UpstreamPathTemplate": "/{url}", //上游请求http方法,可使用数组 "UpstreamHttpMethod": [ "GET", "POST", "PUT", "DELETE", "OPTIONS" ], /** * 负载均衡的算法: * LeastConnection – 跟踪哪些服务正在处理请求,并将新请求发送到具有最少现有请求的服务。算法状态没有分布在Ocelot集群中。 * RoundRobin – 遍历可用服务并发送请求。算法状态没有分布在Ocelot集群中。 * NoLoadBalancer – 从配置或服务发现中获取第一个可用服务 * CookieStickySessions - 使用cookie将所有请求粘贴到特定服务器 */ "LoadBalancerOptions": { "Type": "RoundRobin" //以下配置再设置了 CookieStickySessions 后需要开启 //用于粘性会话的cookie的密钥 //"Key": "ASP.NET_SessionId", //会话被阻塞的毫秒数 //"Expiry": 1800000 }, //缓存 "FileCacheOptions": { "TtlSeconds": 15 }, //限流 "RateLimitOptions": { //包含客户端白名单的数组。这意味着该阵列中的客户端将不受速率限制的影响 "ClientWhitelist": [], //是否启用端点速率限制 "EnableRateLimiting": true, //指定限制所适用的期间,例如1s,5m,1h,1d等。如果在该期间内发出的请求超出限制所允许的数量,则需要等待PeriodTimespan过去,然后再发出其他请求 "Period": "1s", //指定可以在一定秒数后重试 "PeriodTimespan": 1, //指定客户端在定义的时间内可以发出的最大请求数 "Limit": 1 }, //熔断 "QoSOptions": { //允许多少个异常请求 "ExceptionsAllowedBeforeBreaking": 3, //熔断的时间,单位为毫秒 "DurationOfBreak": 1000, //如果下游请求的处理时间超过多少则自如将请求设置为超时 "TimeoutValue": 5000 }, "HttpHandlerOptions": { //是否开启路由追踪 "UseTracing": true } } ], "GlobalConfiguration": { //外部暴露的Url "BaseUrl": "http://localhost:13763", //限流扩展配置 "RateLimitOptions": { //指定是否禁用X-Rate-Limit和Retry-After标头 "DisableRateLimitHeaders": false, //当请求过载被截断时返回的消息 "QuotaExceededMessage": "Oh,Oops!", //当请求过载被截断时返回的http status "HttpStatusCode": 4421, //用来识别客户端的请求头,默认是 ClientId "ClientIdHeader": "ClientId" } } }
作 者:大師兄丶
出 处:http://www.cnblogs.com/zhao-yi
Git 地 址:https://github.com/ZhaoYis
个人博客:http://www.zhaoyis.com.cn
关于作者:主要从事基于.Net Framework平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!
出 处:http://www.cnblogs.com/zhao-yi
Git 地 址:https://github.com/ZhaoYis
个人博客:http://www.zhaoyis.com.cn
关于作者:主要从事基于.Net Framework平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!