Ocelot是一个用.NET Core实现而且开源的API网关,它功能强大,包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与Service Fabric、Butterfly Tracing集成。这些功能只都只须要简单的配置便可完成。架构
Ocelot的目标是使用.NET运行面向微服务/服务的架构,能有统一的入口点进入他们的系统。负载均衡
特别是它很容易就能够集成IdentityServer和 bearer tokens。ide
Ocelot是一组按特定顺序排列的中间件。微服务
Ocelot将HttpRequest对象操做到其配置指定的状态,直到它到达请求构建器中间件,在该中间件中,它建立一个HttpRequestMessage对象,该对象用于向下游服务发出请求。发出请求的中间件是Ocelot管道中的最后一件事。它不会调用下一个中间件。来自下游服务的响应存储在每一个请求范围的存储库中,并在请求返回Ocelot管道时进行检索。有一个中间件将HttpResponseMessage映射到HttpResponse对象并返回给客户端。基本上它具备许多其余功能。spa
如下是部署Ocelot时使用的配置。server