在上一章《API網關Kong系列三】 - 戰前預熱》 中咱們已經對Service服務的定義作了解釋,在這咱們在回顧下。json
服務(SERVICE)實體,正如其名稱所示,是您本身的UPSTREAM服務的抽象。服務的示例將會是數據轉換微服務、計費API等。segmentfault
服務的主要屬性是它的URL(在這裏,Kong應該代理流量),它能夠被設置爲單個字符串,或者經過單獨指定其協議、主機、端口和路徑。服務器
服務與路由相關聯(服務能夠有許多與之相關聯的路由)。路由是在Kong的入口點,並定義了匹配客戶端請求的規則。一旦匹配了路由,Kong就會將請求委託給它的相關服務。app
本章咱們來學習下SERVICE服務API的使用。curl
本示例中,將向Kong 添加API, 爲此,首先須要添加一個服務(Service),就是Kong 用來指定代它管理的上游API和微服務的名稱。
處於測試目的,咱們將建立一個指向Mockbin API 的服務(Mockbin是一個「echo」類型的公共網站,它將返回請求的請求做爲響應返回給請求者。這有助於瞭解Kong如何代理您的API請求)微服務
再開始向服務發送請求以前,須要爲其添加路由,路由指定請求在到達Kong 以後如何發送到其它服務。單個服務能夠建立多個路由。學習
以發送cURL請求的方式,調用Kong的Admin API.
示例: 建立 一個SERVICE (指向Mockbin API)並添加到 Kong測試
$ curl -i -X POST \ —url http://localhost:8001/services/ \ --data 'name=example-service' \ --data 'url=http://mockbin.org'
響應相似以下信息說明建立成功網站
HTTP/1.1 201 Created Content-Type: application/json Connection: keep-alive { "host":"mockbin.org", "created_at":1519130509, "connect_timeout":60000, "id":"92956672-f5ea-4e9a-b096-667bf55bc40c", "protocol":"http", "name":"example-service", "read_timeout":60000, "port":80, "path":null, "updated_at":1519130509, "retries":5, "write_timeout":60000 }
到這 一個簡單的SERVICE服務就建立完成了。下面咱們來介紹下SERVICE的其它APIurl
請求地址 | /services |
請求方式 | POST |
請求主體 | |
name (可選) | 服務名稱 |
protocol | 該協議用於upstrean通訊。能夠是http(默認)或者 https |
host | Upstream 服務器主機 |
port | 服務器端口,默認80 |
path(可選) | 在向Upstream服務器請求中使用的路徑。默認爲空 |
retries(可選 | 在代理失敗的狀況下執行重試次數,默認爲5 |
connect_timeout(可選) | 創建Upstream服務器鏈接的超時間默認爲60000 |
write_timeout(可選) | 將請求發送到Upstream服務器的兩個鏈接之間寫操做超時時間,默認60000 |
read-time(可選) | 將請求發送到Upstream服務器的兩個鏈接之間讀操做超時時間,默認60000 |
url(簡寫屬性) | 將協議、主機、端口和路徑設置成簡單的屬性。這個屬性是隻寫的(管理API從不返回url) |
請求地址 | /services |
請求方式 | GET |
參數 | |
(name or id ) 必填 | 檢索的惟一標示或者服務名稱 |
請求地址 | /services |
請求方式 | GET |
參數 | |
Offset | 分頁遊標 |
size(可選默認100 最大1000) | 每頁顯示的條數 |
請求地址 | /services/{name or id } |
請求方式 | PATCH |
參數 | |
(Name or id )必填_ | 要更新服務的id或者name |
請求地址 | /services/{name or id } |
請求方式 | DELETE |
參數 | |
(Name or id )必填_ | 要刪除的服務的那麼或者id |
到這SERVICE的API基本介紹完了。
本章主要介紹SERVICE的增刪改查的API。
描述了一個業務場景,同時建立了一個指向Mockbin API的Service.
下一章咱們會根據上述的業務場景和Service來建立路由。
想了解更多關於Kong網關的請移步 >>>>> 企業級API網關Kong