【API網關Kong系列四】-玩轉Service服務

一、前景回顧

在上一章《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 以後如何發送到其它服務。單個服務能夠建立多個路由。學習

三、SERVICE API

3.1 建立SERVICE

以發送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

3.2 SERVICE API 詳解

3.2.1 添加SERIVCE

請求地址 /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)

3.2.2 查找Service

請求地址 /services
請求方式 GET
參數
(name or id ) 必填 檢索的惟一標示或者服務名稱

3.2.3 查找Service列表

請求地址 /services
請求方式 GET
參數
Offset 分頁遊標
size(可選默認100 最大1000) 每頁顯示的條數

3.2.4 更新Service

請求地址 /services/{name or id }
請求方式 PATCH
參數
(Name or id )必填_ 要更新服務的id或者name

3.2.4 刪除Service

請求地址 /services/{name or id }
請求方式 DELETE
參數
(Name or id )必填_ 要刪除的服務的那麼或者id

到這SERVICE的API基本介紹完了。

四、總結

本章主要介紹SERVICE的增刪改查的API。
描述了一個業務場景,同時建立了一個指向Mockbin API的Service.
下一章咱們會根據上述的業務場景和Service來建立路由。

想了解更多關於Kong網關的請移步 >>>>> 企業級API網關Kong
相關文章
相關標籤/搜索