中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.NET Core ocelot怎么安裝配置

發布時間:2021-12-24 09:13:37 來源:億速云 閱讀:162 作者:iii 欄目:大數據

這篇文章主要講解了“.NET Core ocelot怎么安裝配置”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“.NET Core ocelot怎么安裝配置”吧!

本文采用Ocelot作為Api網關。

環境要求:

  • vs2019

  • .NetCore3.1

  • Ocelot16.0.1

創建一個產品服務Api站點(AAStore.ProductCatalog.Api)

.NET Core ocelot怎么安裝配置

添加一個ProductController

  [Route("api/[controller]")]
   [ApiController]
   public class ProductController : ControllerBase
   {
       [HttpGet(template:"Get")]
       public string GetProductById()
       {
           return "Product service";
       }
   }

運行瀏覽

.NET Core ocelot怎么安裝配置

然后再創建一個訂單服務Api站點(AAStore.Orde.Api)

添加一個OrderController

   [Route("api/[controller]")]
   [ApiController]
   public class OrderController : ControllerBase
   {
       [HttpGet(template:"Get")]
       public string GetOrder()
       {
           return "Order Service";
       }
   }

運行瀏覽

.NET Core ocelot怎么安裝配置

兩個服務已經已經準備好了,最后創建一個網關站點(AAStore.WebApiGateway)

.NET Core ocelot怎么安裝配置

  • 安裝Ocelot

.NET Core ocelot怎么安裝配置

創建一個json配置文件(ocelot.json)

{
 "Routes": [
   {
     "DownstreamPathTemplate": "/api/Product/get",
     "DownstreamScheme": "http",
     "DownstreamHostAndPorts": [
       {
         "Host": "localhost",
         "Port": 8081
       }
     ],
     "UpstreamPathTemplate": "/api/Product/{everything}",
     "UpstreamHttpMethod": [ "Get" ]
   },
   {
     "DownstreamPathTemplate": "/api/Order/get",
     "DownstreamScheme": "http",
     "DownstreamHostAndPorts": [
       {
         "Host": "localhost",
         "Port": 8082
       }
     ],
     "UpstreamPathTemplate": "/api/Order/get",
     "UpstreamHttpMethod": [ "Get" ]
   }
 ]
}


ocelot api網關的主要功能是接收傳入的HTTP請求并將其轉發到下游服務,目前作為一個HTTP請求。Ocelot將一個請求到另一個請求的路由描述為Routes。

DownstreamPathTemplate、Scheme 和 DownstreamHostAndPorts 構成要將此請求轉發到的內部微服務 URL。

端口是服務使用的內部端口。使用容器時,在其 dockerfile 中指定端口。Host 是一個服務名稱,取決于使用的服務名稱解析。使用 docker-compose 時,服務名稱由 Docker 主機提供,它使用 docker-compose 文件中提供的服務名稱。如果使用 Kubernetes 或 Service Fabric 等業務流程協調程序,則應通過每個業務流程協調程序提供的 DNS 或名稱解析來解析該名稱。

DownstreamHostAndPorts 是一個數組,包含要將請求轉發到的任何下游服務的主機和端口。通常這只包含一個條目,但有時可能想要將均衡請求加載到下游服務,而通過 Ocelot 即可添加多個條目,然后選擇負載均衡器。但是如果使用 Azure 和任何業務流程協調程序,那么通過云和業務流程協調程序基礎結構進行負載均衡可能會更好。

UpstreamPathTemplate 是一個 URL,Ocelot 將其用來識別用于客戶端中給定請求的 DownstreamPathTemplate。最后,使用了 UpstreamHttpMethod,因此 Ocelot 可區分對相同 URL 的不同的請求(GET、POST、PUT)。

注意: ocelot16.x版本之后的配置節點寫為Routes,而非ReRoutes 否則會報錯(Failed to mat ch Route configuration for upstream path)。

  • 在Program.cs 通過AddJsonFile方法向生成器提供ocelot.json文件、添加Ocelot服務(AddOcelot)和添加ocelot中間件(UseOcelot)
    .ConfigureWebHostDefaults(webBuilder =>
               {
                   webBuilder.ConfigureAppConfiguration((hostingContext, config) =>
                      {
                          config
                          .SetBasePath(hostingContext.HostingEnvironment.ContentRootPath)
                          .AddJsonFile("ocelot.json")
                          .AddEnvironmentVariables();
                          ;
                      })
                   .ConfigureServices(services =>
                   {
                       services.AddOcelot();
                       services.AddHttpContextAccessor();
                     
                   })
                   .Configure(app =>
                   {
                       app.UseOcelot().Wait();
                   });
               });

然后運行網關,通過網關訪問產品、訂單微服務:

.NET Core ocelot怎么安裝配置

.NET Core ocelot怎么安裝配置

.NET Core ocelot怎么安裝配置

如果運氣好的話,跟著一步一步做,你也可以運行成功。當然ocelot還有很多功能如:路由、請求聚合、服務發現、WebSockets、認證、授權、LB、K8S、限流、熔斷等等。

感謝各位的閱讀,以上就是“.NET Core ocelot怎么安裝配置”的內容了,經過本文的學習后,相信大家對.NET Core ocelot怎么安裝配置這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

原阳县| 民县| 罗江县| 礼泉县| 文登市| 洞头县| 左云县| 兴义市| 砀山县| 绿春县| 通州市| 博客| 新昌县| 岑巩县| 兴隆县| 湖州市| 鲁山县| 泌阳县| 小金县| 凉城县| 金湖县| 开封县| 山东省| 邓州市| 吉安市| 金寨县| 青浦区| 高平市| 志丹县| 天柱县| 平潭县| 怀仁县| 桂平市| 武安市| 遵义县| 扎鲁特旗| 合水县| 万年县| 治县。| 昆山市| 平远县|