Asp.Net Core + Ocelot 閘道器搭建:負載均衡的配置

丶Pz發表於2018-10-25

前言

  上一篇中簡單做了一個閘道器Demo。本篇中也記錄一下負載均衡的配置實現。

演示

  首先開三個服務,埠分別為 600016000360005,然後分別啟動三個服務。接下來在ApiGateWay專案中將配置檔案改一下:

"DownstreamHostAndPorts": [
        {
          "Host": "localhost",
          "Port": 60003
        },
        {
          "Host": "localhost",
          "Port": 60005
        },
        {
          "Host": "localhost",
          "Port": 60001
        }
      ],
 /*
      LeastConnection - 最少連線,跟蹤哪些服務正在處理請求,並把新請求傳送到現有請求最少的服務上。該演算法狀態不在整個Ocelot叢集中分佈。
      RoundRobin - 輪詢可用的服務併傳送請求。 該演算法狀態不在整個Ocelot叢集中分佈。
      NoLoadBalancer - 不負載均衡,從配置或服務發現提供程式中取第一個可用的下游服務。
      */
      "LoadBalancerOptions": {
        "Type": "RoundRobin"
      },

  這裡需要注意的一個地方,就是網上很多部落格寫的是 "LoadBalancer":"RoundRobin" 這樣配置在最新版本中不起作用。然後執行閘道器專案,訪問介面如下:
Asp.Net Core + Ocelot 閘道器搭建:負載均衡的配置
Asp.Net Core + Ocelot 閘道器搭建:負載均衡的配置
Asp.Net Core + Ocelot 閘道器搭建:負載均衡的配置

結語

  本篇就到這裡啦,是不是很簡單呢?

相關文章