美文网首页.NETdotNETASP.NET
.Net Core 3.x MVC 网关 Ocelot 负载均衡

.Net Core 3.x MVC 网关 Ocelot 负载均衡

作者: 单程车票_SJ | 来源:发表于2020-10-31 23:27 被阅读0次

Ocelot 作用

1. 路由---核心功能

2. 集群负载均衡

上一章Consul做到了集群、自动注册发现和健康检测《.Net Core 3.x MVC Consul 集群》,可是存在问题,就是前端实例需要写很多调用Consul和后端服务实例的代码,如果有改动,所有前端都需要改动发布。这时候需要有个网关来把这些请求集合起来做处理(Ocelot + Consul)。

Ocelot 实现了客户端和服务实例的隔绝—保护—节约IP—提高效率

Consul 实现了集群管理,发现—健康检查—下线

官网:https://threemammals.com/ocelot

Git:https://github.com/ThreeMammals/Ocelot

1. 添加一个 Web Api 项目 

2. 引用 Ocelot 和 Ocelot.Provider.Consul 两个包

3. 添加 配置文件

U001是网关地址(自定义)

UserService 就是 后端服务实例里注册Consul时设置的分组

http://127.0.0.1:8005 ,端口 8005 是 启动这个Gateway实例使用的端口号 自定义的

修改 Startup.cs ,注释默认的管道和服务,添加 Ocelot

修改 Program.cs ,读取 刚才添加的 Ocelot 配置文件 configuration.json

生成编译

这次用到实例  后端实例(AspNetCore.MicroService.ServiceInstance)、Ocelot实例(AspNetCore.MicroService.Gateway) 和  consul

先启动 consul 命令

consul.exe agent -dev

后端项目bin->编译项目目录 启动三个实例

dotnet AspNetCore.MicroService.ServiceInstance.dll --urls=”http://*:8002” --ip=”127.0.0.1” --port=8002

dotnet AspNetCore.MicroService.ServiceInstance.dll --urls=”http://*:8003” --ip=”127.0.0.1” --port=8003

dotnet AspNetCore.MicroService.ServiceInstance.dll --urls=”http://*:8004” --ip=”127.0.0.1” --port=8004

Ocelot实例bin->编译项目目录 启动实例

dotnet AspNetCore.MicroService.Gateway.dll --urls=”http://*:8005” --ip=”127.0.0.1” --port=8005

启动好这些项目就可以访问一下网关地址了

http://localhost:8005/U001/users/all

按F5刷新,这里Ocelot实现负载均衡,自动轮询请求三个后端实例。


下一章《.Net Core 3.x MVC 网关 Ocelot + Polly》

相关文章

网友评论

    本文标题:.Net Core 3.x MVC 网关 Ocelot 负载均衡

    本文链接:https://www.haomeiwen.com/subject/vmgsvktx.html