.NET Core 微服務—API網關(Ocelot) 教程 [一]

 前言:html

  最近在關注微服務,在 eShop On Containers 項目中存在一個API網關項目,引發想深刻了解下它的興趣。git

   

 

 

1、API網關是什麼github

  API網關是微服務架構中的惟一入口,它提供一個單獨且統一的API入口用於訪問內部一個或多個API。它能夠具備身份驗證,監控,負載均衡,緩存,請求分片與管理,靜態響應處理等。API網關方式的核心要點是,全部的客戶端和消費端都經過統一的網關接入微服務,在網關層處理全部的非業務功能。一般,網關也是提供REST/HTTP的訪問API。服務端經過API-GW註冊和管理服務。json

2、Ocelot簡介緩存

  Ocelot 是一個用.NET Core實現而且開源的API網關,它功能強大,包括了:路由、請求聚合、服務發現、認證、鑑權、限流熔斷、並內置了負載均衡器與Service Fabric、Butterfly Tracing集成。這些功能只都只須要簡單的配置便可完成服務器

3、Ocelot工做流程架構

  a)  基本集成:負載均衡

     根據configuration.json(後續文章會介紹詳細內容)中配置內容,把接收全部的客戶端請求,路由到對應的下游服務器進行處理,再將請求結果返回。而這個上下游請求的對應關係也被稱之爲路由。微服務

 

  

b)  集成IdentityServer:post

   當咱們涉及到受權認證的時候,咱們能夠跟Identity Server進行結合。當網關須要請求認證信息的時候會與Identity Server服務器進行交互來完成。

 

    

  c)  網關集羣配置:

    能夠部署多臺Ocelot網關。固然這個時候在多臺網關前,你還須要一臺負載均衡器

    

     

  d)  結合Consul服務發現

    在Ocelot已經支持簡單的負載功能,當下遊服務存在多個結點的時候,Ocelot可以承擔起負載均衡的做用。可是沒提供健康檢查,服務的註冊也只能經過手動在配置文件裏面添加完成。這不夠靈活而且在必定程度下會有風險。這個時候咱們就能夠用Consul來作服務發現,它能與Ocelot完美結合。

    

  e)  結合Service Fabric

       

    

下一步:  

  接下來咱們就一塊兒來應用Ocelot實現路由、權限認證、服務發現、負載均衡等等相關功能。在代碼中進一步深刻了解。

    • 包括如何配置路由
    • 受權認證服務接入
    • 負載均衡使用
    • 服務發現結合
    • …… 

引用:

  官方文檔:https://ocelot.readthedocs.io/en/latest/introduction/bigpicture.html

相關文章
相關標籤/搜索