使用Ocelot做閘道器

2022-01-11 08:19:59 字數 1864 閱讀 9113

1首先建立乙個json的配置檔案,檔名隨便取,我取ocelot.json

這個配置檔案有兩種配置方式,第一種,手動填寫 服務所在的ip和埠;第二種,用consul進行服務發現

第一種如下:

//手動指明ip和埠號

"downstreamhostandports

": [

],//請求格式

//例如,我的ocelot ip是127.0.0.1 埠是8888的情況下,

//我請求的是localhost:8888/ocelot_consul_service/values

//會被轉到localhost 的6001埠 6001埠對應的是 ocelot_consul_service 對應的webapi

//請求轉後的路徑是:localhost:6001/api/ocelot_consul_service/values

}第二種如下:

//指明服務名

"servicename

": "

ocelot_consul_service",

//指明負載平衡方式

"loadbalanceroptions

": ,

//使用服務發現

"useservicediscovery

": true

} ],

//全域性配置

"globalconfiguration":

}}2.接下來我們要安裝ocelot

install-package ocelot

3.安裝完畢 要在program.cs檔案中使用第一步中建立的json檔案,把它讀到配置裡面去。

public

static iwebhostbuilder createwebhostbuilder(string

args)

:")//註冊應用配置

// builder.addjsonfile("

ocelot.json

", false, true

); })

.usestartup

(); }

4.在啟動類(startup.cs)檔案中新增ocelot服務

public

void

configureservices(iservicecollection services)

一定要注意第4步,使用consul做服務發現要安裝 ocelot.provider.consul 包 並addconsul()。在實際中 我們要盡量要用consul進行服務發現。

附上ocelot文件截圖一張如下:

Ocelot 閘道器搭建(一)

依賴專案 net core 2.0 空專案 新增應用設定檔案 ocelot.json 負載均衡 loadbalancer leastconnection 將請求發往最空閒的那個伺服器 roundrobin 輪流傳送 noloadbalance 總是發往第乙個請求或者是服務發現 限流 ratelimi...

Ocelot 閘道器搭建(二)

出處 專案新增進來後的結構如下所示 configureservices服務中ocelot的注入的同時需要注入我們的擴充套件方法,如下所示 services.addocelot 注入ocelot服務 addauthlimitcache option addconsul 我們在資料庫中配置乙個路由吧,如...

c 微服務Ocelot閘道器服務發現

前面提到微服務方案,介紹了該東西,推薦一篇介紹博文 我要說的是ocelot服務發現方案,其自身已經整合了consul,eureka服務發現,其專案名稱分別是ocelot.provider.consul,ocelot.provider.eureka。配置使用方法 globalconfiguration...