简介

ocelot是一个用.net core实现并且开源的api网关,它功能强大,包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与service fabric、butterfly tracing集成。这些功能只都只需要简单的配置即可完成。

架构图

ocelot的目标是使用.net运行面向微服务/服务的架构,能有统一的入口点进入他们的系统。

特别是它很容易就可以集成identityserver和 bearer tokens。

ocelot是一组按特定顺序排列的中间件。

ocelot将httprequest对象操作到其配置指定的状态,直到它到达请求构建器中间件,在该中间件中,它创建一个httprequestmessage对象,该对象用于向下游服务发出请求。发出请求的中间件是ocelot管道中的最后一件事。它不会调用下一个中间件。来自下游服务的响应存储在每个请求范围的存储库中,并在请求返回ocelot管道时进行检索。有一个中间件将httpresponsemessage映射到httpresponse对象并返回给客户端。基本上它具有许多其他功能。

以下是部署ocelot时使用的配置。

基本实现

集成identityserver 

多个实例

使用consul

使用service fabric