微服务架构:API网关、Ocelot

参考:

API网关--文档

Ocelot 中文文档:http://www.jessetalk.cn/2018/03/19/net-core-apigateway-ocelot-docs/  --刘腾飞

Ocelot 资源汇总--张善友

Ocelot github地址

常见网关:

  1. Netflix Zuul +java实现
  2. Kong nginx +lua脚本实现
  3. Tyk go语言开发,收费版本
  4. Ocelot aspnetcore开发的

测试网关条件

  • 三个项目
  • 网关
  • Consul

在MicroService.Gateway(网关服务)安装Nuget包

 

通过Json文件配置Ocelot相关参数

  • Downstream 是下游服务配置

  • UpStream 是上游服务配置

  • Aggregates 服务聚合配置

  • ServiceName, LoadBalancer, UseServiceDiscovery 配置服务发现

  • AuthenticationOptions 配置服务认证

  • RouteClaimsRequirement 配置Claims鉴权

  • RateLimitOptions 为限流配置

  • FileCacheOptions 缓存配置

  • QosOptions 服务质量与熔断

  • DownstreamHeaderTransform 头信息转发

 

  • DownstreamPathTemplate:下游路径模板

  • DownstreamScheme:下游服务http schema

  • DownstreamHostAndPorts:下游服务的地址,如果使用LoadBalancer的话这里可以填多项

  • UpstreamPathTemplate: 上游也就是用户输入的请求Url模板

  • UpstreamHttpMethod: 上游请求http方法,可使用数组

 

LoadBalancer将决定负载均衡的算法

  • LeastConnection – 将请求发往最空闲的那个服务器

  • RoundRobin – 轮流发送

  • NoLoadBalance – 总是发往第一个请求或者是服务发现

 

动态路由

 

posted @ 2020-08-26 11:07  日积月累码农  阅读(314)  评论(0编辑  收藏  举报