Ocelot+Consul之负载均衡

继续上一篇(https://blog.csdn.net/wjj1991/article/details/126054874)的配置

步骤

  1. 创建多2个站点,模拟部署3台服务
  2. 修改consul配置
  3. 修改ocelot网关配置

1. 创建多2个站点,模拟部署3台服务

1.1 再按sys1复制两个iis站点,sys2(端口10041),sys3(10042),全部有3个站点,模拟服务部署了3台,如下:

在这里插入图片描述

1.2 为了方便识别,改sys2,sys3的do.json内容,如下

sys2下的do.json

sys3下的do.json

2. 修改consul配置

2.1 把之前consul配置修改如下,增加sys2和sys3的配置,注意name要一样,id不能一样
{
    "services": [
    {
        "id": "sys1",
        "name": "sys",
        "address": "localhost",
        "port": 10040
    },{
        "id": "sys2",
        "name": "sys",
        "address": "localhost",
        "port": 10041
    },{
        "id": "sys3",
        "name": "sys",
        "address": "localhost",
        "port": 10042
    }]
}
2.2 改完重启,或使用如下命令
consul.exe reload
2.3 打开http://localhost:8500,确认一下配置是否成功

在这里插入图片描述

3. 修改ocelot网关配置

3.1 ocelot网关的ocelot.json增加负载均衡配置,改完重启,配置如下
{
  "Routes": [
    {
      "UpstreamPathTemplate": "/sys/{everything}",
      "UpstreamHttpMethod": [ "Get", "Post" ],

      "DownstreamPathTemplate": "/{everything}",
      "DownstreamScheme": "http",
      "ServiceName": "sys",
      //配置负载均衡
      "LoadBalancerOptions": {
        "Type": "RoundRobin" //负载均衡方式
      }
    }
  ],
  "GlobalConfiguration": {
    "BaseUrl": "http://localhost:5000",
    "ServiceDiscoveryProvider": {
      "Scheme": "http",
      "Host": "localhost",
      "Port": 8500,
      "Type": "Consul"
    }
  }
}

LoadBalancerOptions更多描述,参考官网

4. 测试验证

4.1 浏览器打开http://localhost:5000/sys/api/test/do.json,多刷新几次,发现请求的数据就是sys1,sys2,sys3循环出现,这样表示配置成功了

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值