前言

  Ocelot是一个基于中间件的网关实现,功能有很多。从浅入深简单学习并记录一下吧。本篇就是一个简单的路由配置实现。

DEMO 搭建

  首先建立三个项目。Api.User,Api.Article,Api.GateWay.ApiGateWay项目中引入Ocelot Nuget包.添加配置文件Ocelot.json.

{
"ReRoutes": [
{
"DownstreamPathTemplate": "/{all}",
"DownstreamScheme": "http",
"DownstreamHostAndPorts": [
{
"Host": "localhost",
"Port": 60001
}
],
"UpstreamPathTemplate": "/user/{all}",
"UpstreamHttpMethod": ["GET","POST"]
},
{
"DownstreamPathTemplate": "/{all}",
"DownstreamScheme": "http",
"DownstreamHostAndPorts": [
{
"Host": "localhost",
"Port": 60002
}
],
"UpstreamPathTemplate": "/article/{all}",
"UpstreamHttpMethod": ["GET","POST"]
}
],
"GlobalConfiguration": {
"BaseUrl": "https://localhost:60003/"
}
}

  启动的时候将配置文件加进去,并且Startup中添加相应的中间件:services.AddOcelot(),app.UseOcelot();

 public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext, config) =>
{
config.SetBasePath(hostingContext.HostingEnvironment.ContentRootPath)
.AddJsonFile("ocelot.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables();
}).UseStartup<Startup>();

  启动三个项目,运行效果如下:

总结

  这样就能实现将网关做为统一入口,统一管理了。后续在加上各种Ocelot的功能实现。

Asp.Net Core + Ocelot 网关搭建:路由简单配置的更多相关文章

  1. Asp.Net Core + Ocelot 网关搭建:负载均衡的配置

    前言   上一篇中简单做了一个网关Demo.本篇中也记录一下负载均衡的配置实现. 演示   首先开三个服务,端口分别为 60001,60003,60005,然后分别启动三个服务.接下来在ApiGate ...

  2. Asp.net Core + Log4net + ELK 搭建日志中心

    原文:Asp.net Core + Log4net + ELK 搭建日志中心 Docker中一键安装ELK 对于这种工具类的东西,第一步就直接到docker的hub中查找了,很幸运,不仅有Elasti ...

  3. asp.net core mvc 中间件之路由

    asp.net core mvc 中间件之路由 路由中间件 首先看路由中间件的源码 先用httpContext实例化一个路由上下文,然后把中间件接收到的路由添加到路由上下文的路由集合 然后把路由上下文 ...

  4. ASP.NET Core 缓存技术 及 Nginx 缓存配置

    前言 在Asp.Net Core Nginx部署一文中,主要是讲述的如何利用Nginx来实现应用程序的部署,使用Nginx来部署主要有两大好处,第一是利用Nginx的负载均衡功能,第二是使用Nginx ...

  5. ASP.NET Core 2.2 基础知识(六) 配置(内含MySql+EF)

    先上一段代码,了解一下 .NET Core 配置数据的结构. 新建一个 控制台项目,添加一个文件 json.json ,文件内容如下: { "country": "cn& ...

  6. [ASP.NET Core 3框架揭秘] Options[1]: 配置选项的正确使用方式[上篇]

    依赖注入不仅是支撑整个ASP.NET Core框架的基石,也是开发ASP.NET Core应用采用的基本编程模式,所以依赖注入十分重要.依赖注入使我们可以将依赖的功能定义成服务,最终以一种松耦合的形式 ...

  7. asp.net core 3.0 MVC JSON 全局配置

    asp.net core 3.0 MVC JSON 全局配置 System.Text.Json(default) startup配置代码如下: using System.Text.Encodings. ...

  8. [ASP.NET Core 3框架揭秘] Options[2]: 配置选项的正确使用方式[下篇]

    四.直接初始化Options对象 前面演示的几个实例具有一个共同的特征,即都采用配置系统来提供绑定Options对象的原始数据,实际上,Options框架具有一个完全独立的模型,可以称为Options ...

  9. [ASP.NET Core开发实战]基础篇06 配置

    配置,是应用程序很重要的组成部分,常常用于提供信息,像第三方应用登录钥匙.上传格式与大小限制等等. ASP.NET Core提供一系列配置提供程序读取配置文件或配置项信息. ASP.NET Core项 ...

随机推荐

  1. git远程从入门到放弃

    git pull下来用git branch -r查看远程分支才有数据 解决方案:指定当前工作目录工作分支,跟远程的仓库,分支之间的链接关系. 比如我们设置master对应远程仓库的master分支 g ...

  2. jvm工具及命令大全

      虚拟机栈 栈桢大小缺省为1M,可用参数 –Xss调整大小,例如-Xss256k 堆 -Xms:堆的最小值: -Xmx:堆的最大值: -Xmn:新生代的大小: -XX:NewSize:新生代最小值: ...

  3. sprintf和sscanf

    sprintf 一个可以将输入打印到字符串的函数,用法与printf差不多 可以参考这篇文章: http://blog.csdn.net/masibuaa/article/details/563488 ...

  4. python学习之老男孩python全栈第九期_day020知识点总结——序列化模块、模块的导入和使用

    一. 序列化模块 # 序列化 --> 将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化# 反序列化 --> 从字符串转换成数据类型的过程叫做反序列化# 序列 -- 字符串 # 什 ...

  5. js串结构

    朴素匹配算法 //S 主串 T 模式串 //匹配失败,回溯 i = i - j + 1 j = 0 //匹配成功,返回位置 i - j function indexOf(S,T,pos = 0){ l ...

  6. bootstrap框架怎么在html页面加载使用

    今天敲代码的时候,正好碰到这个问题. 与大家分享这个解决方法:     1/7 到bootstrap官方网站下载,对于我们开发者来说,直接下载编译和压缩后的CSS.JavaScript文件,另外还包含 ...

  7. html5-audio 播放列表和自动播放

    一个简单audio的列表和播放小例子 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  8. volley4--RequestQueue

    源码: /* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, V ...

  9. js重名的处理

    ### 关于重名的处理 > 在变量提升阶段,如果名字重复了,不会重新的进行声明,但是会重新的进行定义(后面赋的值会把前面赋的值给替换掉) ```javascript //=>变量提升:fn ...

  10. Linux ping命令详解

    Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性 基于IMCP协议 常见命令参数 -q 不显示任何传送封包的信息,只显示最后的结果 -n 只输出数值 -R 记录路由过程 ...