欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

网关

程序员文章站 2022-06-03 19:07:45
...

gateway(网关)介绍

大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。顾名思义,网关(Gateway) 就是一个网络连接到另一个网络的“关口”。也就是网络关卡。

ocelot

官方网站

基本使用

创建一个项目
Program.cs 中修改以下代码

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args).ConfigureAppConfiguration(conf =>
    {
        conf.AddJsonFile("ocelot.json", false, true);
    })
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>().UseUrls("http://127.0.0.1:5000");
        });

添加ocelot.json文件,配置如下

提示:如果感觉配置没问题,但还是转发失败,可能是ocelot版本太新了,去官网翻翻最新的

{
  "Routes": [
    {
      "DownstreamPathTemplate": "/api/{par}", // 下游模板
      "DownstreamScheme": "http", // 请求方式
      "DownstreamHostAndPorts": [
        {
          "Host": "localhost",
          "Port": 5002
        },
        {
          "Host": "localhost",
          "Port": 5001
        }
      ],
      "UpstreamPathTemplate": "/api/{par}",  // 上游配置
      "UpstreamHttpMethod": [ "Get" ],  // 请求类型
      "LoadBalancerOptions": {
        "Type": "LeastConnection"  // 负载配置
      }
    }
  ],
  "GlobalConfiguration": {

  }
}

注入服务

 services.AddOcelot();

使用服务

 app.UseOcelot().Wait();

代码传送门

上一篇: 网关

下一篇: linux 网关