1.在使用
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddOcelot(Configuration)
.AddConsul()
.AddConfigStoredInConsul()
.AddPolly();
}
該方法一旦使用AddConfigStoredInConsul(),啟動專案之后頁面就會報錯500,內部服務錯誤。如果不使用該方法并且reroute的下游服務使用ip和埠的明文配置,那么可以正常請求
2.我在consul中添加了一個name為TestApiServer的服務,并在ocelot中使用如下配置
{
"UseServiceDiscovery": true, // use Consul service discovery
"DownstreamPathTemplate": "/api/{url}",
"DownstreamScheme": "http",
"ServiceName": "TestApiServer",
"LoadBalancerOptions": {
"Type": "RoundRobin"
},
"UpstreamPathTemplate": "/TestApiServer/{url}",
"UpstreamHttpMethod": [ "Get", "Post" ],
"RateLimitOptions": {
"ClientWhitelist": [ "admin" ], // 白名單
"EnableRateLimiting": true, // 是否啟用限流
"Period": "1m", // 統計時間段:1s, 5m, 1h, 1d
"PeriodTimespan": 15, // 多少秒之后客戶端可以重試
"Limit": 10 // 在統計時間段內允許的最大請求數量
}
}
當我發起請求為http://192.168.22.122:8000/TestApiServer/values時,ocelot找不到對應的服務對我的請求進行轉發。各位大佬有空的話進來幫忙看看
uj5u.com熱心網友回復:
服務開了才能調轉載請註明出處,本文鏈接:https://www.uj5u.com/net/87651.html
標籤:其他語言
上一篇:大神們指點一下
