基于netcore的微服务——Ocelot结合Consul配置文件(4)
Ocelot结合Consul
引入包
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" />
<PackageReference Include="Ocelot" Version="7.0.8" />
一.只使用Ocelot
当只使用Ocelot需要对每台服务器都进行配置,会很麻烦
{
"ReRoutes": [
{
//Ocelot转发 到本地的5001端口的地址 ...../MsgService/abc ----》 localhost:5001/api/abc
"DownstreamPathTemplate": "/api/{url}",
//请求的方式
"DownstreamScheme": "http",
//请求的主机和端口
"DownstreamHostAndPorts": [
{
"Host": "localhost",
"Port": 5001
}
],
//客户端请求的路由
"UpstreamPathTemplate": "/MsgService/{url}",
//允许的请求方式
"UpstreamHttpMethod": [ "Get", "Post" ]
}
]
}
二、结合Consul
结合Consul使用,不用去再一次把每台服务器配置一遍,
只需要结合Consul就能一键化配置
{
"ReRoutes": [
{
//Ocelot转发 到本地的5001端口的地址 ...../MsgService/abc ----》 localhost:5001/api/abc
"DownstreamPathTemplate": "/api/{url}",
//请求的方式
"DownstreamScheme": "http",
//请求的服务名
"ServiceName": "MsgService",
"LoadBalancerOptions": {
//对于被发现服务器的使用方式
"Type": "RoundRobin"
},
//开启服务发现
"UseServiceDiscovery": true,
//客户端请求的路由
"UpstreamPathTemplate": "/MsgService/{url}",
//允许的请求方式
"UpstreamHttpMethod": [ "Get", "Post" ]
},
{
"DownstreamPathTemplate": "/api/{url}",
"DownstreamScheme": "http",
"ServiceName": "ProductService",
"LoadBalancerOptions": {
"Type": "RoundRobin"
},
"UseServiceDiscovery": true,
"UpstreamPathTemplate": "/ProductService/{url}",
"UpstreamHttpMethod": [ "Get", "Post" ]
}
],
//全局配置Consul服务器
"GlobalConfiguration": {
"ServiceDiscoveryProvider": {
"Host": "localhost",
"Port": 8500
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!