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