Ocelot+Consul的使用配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
客户端<br>代码配置
  "ConsulRegisterOptions": {
    "Address": "http://localhost:8500", //"http://host.docker.internal:8500", //Consul 客户端地址
    "HealthCheck": "/healthcheck", //健康检查地址
    "Name": "ServiceA", //服务名
    "Ip": "localhost", //"host.docker.internal", //服务绑定Ip
    "Port": "5032" //服务绑定端口
  }
代码配置
  "ConsulRegisterOptions": {
    "Address": "http://localhost:8500", //"http://host.docker.internal:8500", //Consul 客户端地址
    "HealthCheck": "/healthcheck", //健康检查地址
    "Name": "ServiceA", //服务名
    "Ip": "localhost", //"host.docker.internal", //服务绑定Ip
    "Port": "5096" //服务绑定端口
  }
 
这里用于ocelot切换,两个项目

  

1
2
3
4
5
6
7
客户端<br>builder.Services.Configure<ConsulRegisterOptions>(builder.Configuration.GetSection("ConsulRegisterOptions"));
builder.Services.AddConsulRegister();app.UseHealthCheckMiddleware();
 
app.MapGet("/test", (IConfiguration configuration) =>
{
    return $"{Assembly.GetExecutingAssembly().FullName};当前时间:{DateTime.Now:G};Port:{configuration["ConsulRegisterOptions:Port"]}";
});<br><br>await app.Services.GetService<IConsulRegister>()!.ConsulRegistAsync();

  

复制代码
ocelot端这里服务端名称ServiceName要和客户端一样,不然gg,找了半天,操蛋
{
"Routes": [ { "DownstreamPathTemplate": "/{url}", //下游(转发的服务地址模板) "DownstreamScheme": "http", "UpstreamPathTemplate": "/ocelot/{url}", //上游(请求路径模板) "UpstreamHttpMethod": [ "Get", "Post" ], "ServiceName": "ServiceA", "UseServiceDiscovery": true, "LoadBalancerOptions": { "Type": "RoundRobin" //轮询 } } ], "GlobalConfiguration": { "BaseUrl": "http://localhost:5181", "ServiceDiscoveryProvider": { //consul 配置信息 "Host": "localhost", "Port": 8500, "Type": "Consul" } } }

builder.Configuration.AddJsonFile("ocelot.json", optional: false, reloadOnChange: true);
builder.Services.AddOcelot().AddConsul();


await app.UseOcelot();

 
复制代码

 

posted @   孤海飞雁  阅读(107)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
历史上的今天:
2023-02-12 NET6 IOC 基本流程 泛型为例( 蒋金楠老师书籍)
点击右上角即可分享
微信分享提示