91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

.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

吉安市| 石楼县| 肥西县| 夹江县| 安陆市| 日照市| 屯门区| 岳阳县| 库尔勒市| 蓬莱市| 额济纳旗| 武陟县| 达孜县| 绍兴县| 墨脱县| 昌宁县| 文水县| 静安区| 揭西县| 始兴县| 德钦县| 内丘县| 和林格尔县| 搜索| 伊吾县| 大兴区| 麻栗坡县| 寿光市| 青岛市| 肥西县| 堆龙德庆县| 卓尼县| 柘城县| 多伦县| 武胜县| 定南县| 平凉市| 迁西县| 罗源县| 边坝县| 沙田区|