摘要:
获取本机网络连接列表 public static List<string> GetNetList() { List<string> ls = new List<string>(); ManagementClass vNetworkAdapter = new ManagementClass("Win3 阅读全文
摘要:
Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与Service Fabric、Butterfly Tracing集成。这些功能只都只需要简单的配置即可完成,下面我们会对这些功能的配置一一进行说明。 阅读全文
摘要:
本文介绍Ocelot中的请求头传递(Headers Transformation),其可以改变上游request传递给下游/下游response传递给上游的header。 1、修改ValuesController 修改WebApiA和WebApiB中ValuesController.Get()方法如 阅读全文
摘要:
本文介绍Ocelot中的QoS(Quality of Service),其使用了Polly对超时等请求下游失败等情况进行熔断。 1、添加Nuget包 添加 Ocelot.Provider.Polly 到OcelotGetway项目中 nuget.png nuget.png 2、修改 Startup. 阅读全文
摘要:
Ocelot中使用 CacheManager 来支持缓存,官方文档中强烈建议使用该包作为缓存工具。以下介绍通过使用CacheManager来实现Ocelot缓存。 1、通过Nuget添加 Ocelot.Cache.CacheManager 包 在OcelotGetway项目中添加引用: Add ca 阅读全文
摘要:
本文介绍Ocelot中的限流,限流允许Api网关控制一段时间内特定api的总访问次数。限流的使用非常简单,只需要添加配置即可。 1、添加限流 修改 configuration.json 配置文件,对 UpstreamPathTemplate 为 /webapib/values 的配置修改如下: 对 阅读全文
摘要:
本文介绍Ocelot中的配置管理,配置管理允许在Api网关运行时动态通过Http Api查看/修改当前配置。由于该功能权限很高,所以需要授权才能进行相关操作。有两种方式来认证,外部Identity Server或内部Identity Server。 1、外部Identity Server 修改 St 阅读全文
摘要:
本文介绍Ocelot中的认证和授权(通过IdentityServer4),本文只使用最简单的IdentityServer,不会对IdentityServer4进行过多讲解。 1、Identity Server 4 (1)新建一个新的WebApi项目命名为IdentityServer,添加 Ident 阅读全文
摘要:
本文介绍Ocelot中的服务发现(Service Discovery),Ocelot允许指定一个服务发现提供器,之后将从中寻找下游服务的host和port来进行请求路由。关于服务发现的详细介绍请点击。在Ocelot中使用了Consul作为服务发现的provider。 1、Consul下载安装 从官方 阅读全文
摘要:
在实际的应用当中,经常会遇到同一个操作要请求多个api来执行。这里先假设一个应用场景:通过姓名获取一个人的个人信息(性别、年龄),而获取每种个人信息都要调用不同的api,难道要依次调用吗?在Ocelot中为我们提供了很好的解决方法。 路由聚合 继续使用前边的文章建立的项目,在WebApiA项目中添加 阅读全文