Asp.Net Core + Ocelot 网关搭建:负载均衡的配置
前言
上一篇中简单做了一个网关Demo
。本篇中也记录一下负载均衡的配置实现。
演示
首先开三个服务,端口分别为 60001
,60003
,60005
,然后分别启动三个服务。接下来在ApiGateWay
项目中将配置文件改一下:
"DownstreamHostAndPorts": [
{
"Host": "localhost",
"Port": 60003
},
{
"Host": "localhost",
"Port": 60005
},
{
"Host": "localhost",
"Port": 60001
}
],
/*
LeastConnection - 最少连接,跟踪哪些服务正在处理请求,并把新请求发送到现有请求最少的服务上。该算法状态不在整个Ocelot集群中分布。
RoundRobin - 轮询可用的服务并发送请求。 该算法状态不在整个Ocelot集群中分布。
NoLoadBalancer - 不负载均衡,从配置或服务发现提供程序中取第一个可用的下游服务。
*/
"LoadBalancerOptions": {
"Type": "RoundRobin"
},
这里需要注意的一个地方,就是网上很多博客写的是 "LoadBalancer":"RoundRobin"
这样配置在最新版本中不起作用。然后运行网关项目,访问接口如下:
结语
本篇就到这里啦,是不是很简单呢?
多学点,总不会吃亏的。