Asp.Net Core + Ocelot 网关搭建:负载均衡的配置

时间:2023-12-14 09:32:32

前言

  上一篇中简单做了一个网关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 网关搭建:负载均衡的配置

结语

  本篇就到这里啦,是不是很简单呢?