Ocelot一个优秀的.NET API网关框架
1 什么是Ocelot?
Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与Service Fabric、Butterfly Tracing集成。
2 如何使用Ocelot?
首先,创建2个WebApi项目,WebApi01和WebApi02,地址分别https://localhost:44313和https://localhost:44390,其中WebApi01当作网关,WebApi02当作具体的微服务Api。
然后,将Ocelot的NuGet软件包安装到WebApi01项目中。
注意我这里安装的是17.0.0版本,配置方面会有点不一样。
接着,在Startup.ConfigureServices中增加services.AddOcelot;
接着,在Startup.Configure中增加app.UseOcelot().Wait();
接着,创建ocelot.json文件
最后,在Program.CreateHostBuilder中增加AddJsonFile("ocelot.json", optional: false, reloadOnChange: true);
Ok,让我们来测试看看,https://localhost:44313/api/WeatherForecast会不会跳转https://localhost:44390/WeatherForecast。