【微服务专题之】.NET 6下集成微服务网关-Ocelot(上)

.Net6下集成微服务网关-Ocelot.

【微服务专题之】.NET 6下集成微服务网关-Ocelot

网关常见功能

  • 1:路由 routing

  • 2: 请求聚合

  • 3:身份验证和授权

  • 4:速率限制

  • 5:缓存

  • 6:负载均衡

路由 routing基本使用

安装Nugget包

1// 18.0.0 最新版 支持.net 6 
2Install-Package Ocelot  

建立一个.Net6 Web Api 的项目

【微服务专题之】.NET 6下集成微服务网关-Ocelot


服务端代码编写

 1// 添加日志服务 ,这样在访问网关接口的时候可以在控制台打印输出相应的信息
 2builder.Host.ConfigureLogging(log=>{
 3    log.ClearProviders();
 4    log.AddConsole();
 5});
 6// 注册Ocelot 服务
 7builder.Services.AddOcelot();
 8
 9// ----------
10// 注册好Ocelot 服务后 启用其中间件
11app.UseOcelot().Wait();

设置Ocelot 配置json文件

在项目根目录下创建一个ocelot.json 文件
PS:配置文件详细参数介绍参考上文视频或者官网地址

 1{
 2    "Routes": [
 3        {
 4        "DownstreamPathTemplate": "/todos/{id}",
 5        "DownstreamScheme": "https",
 6        "DownstreamHostAndPorts": [
 7            {
 8                "Host": "jsonplaceholder.typicode.com",
 9                "Port": 443
10            }
11        ],
12        "UpstreamPathTemplate": "/todos/{id}",
13        "UpstreamHttpMethod": [ "Get" ]
14        }
15    ],
16    "GlobalConfiguration": {
17        "BaseUrl": "https://localhost:5000"
18    }
19}

最终效果-详情见视频

【微服务专题之】.NET 6下集成微服务网关-Ocelot