其他分享
首页 > 其他分享> > Ocelot + Consul

Ocelot + Consul

作者:互联网

Ocelot allows you to specify a service discovery provider and will use this to find the host and port for the downstream service Ocelot is forwarding a request to. At the moment this is only supported in the GlobalConfiguration section which means the same service discovery provider will be used for all Routes you specify a ServiceName for at Route level.

 

 1. install package Ocelot.Provider.Consul and used in startup

       public void ConfigureServices(IServiceCollection services)
        {

            services.AddOcelot().AddConsul();
        }

2. adjust ocelot.json to add service discovery

{
  "Routes": [
    {
      "ServiceName": "message",
      "UseServiceDiscovery": true, //启用服务发现
      "DownstreamPathTemplate": "/api/{url}",
      "DownstreamScheme": "http",
      "UpstreamPathTemplate": "/Message/{url}",
      "UpstreamHttpMethod": [ "Get", "Post" ],
      "LoadBalancerOptions": {
        "Type": "RoundRobin" 
      }
    }
  ],
  "GlobalConfiguration": {
    "BaseUrl": "http://localhost:5000",
    "ServiceDiscoveryProvider": {
      "Host": "127.0.0.1",
      "Port": 8500,
      "Type": "Consul"
    }
  }
}

3. testing

 

标签:http,service,Consul,Ocelot,services,discovery
来源: https://www.cnblogs.com/kevin-xk/p/15041573.html