在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

API 網關詳細介紹(下)

jf_78858299 ? 來源:Steve的后端小棧 ? 作者:?Steave? ? 2023-05-04 17:28 ? 次閱讀

三、Kong Admin API

部署好 Kong 之后,則需要將我們自己的接口加入到 Kong 的中管理,Kong 提供了比較全面的RESTful API,每個版本會有所不同,詳細可以參考官網:docs.konghq.com/2.0.x/admin… 。Kong 管理 API 的端口是 8001(8444),服務、路由、配置都是通過這個端口進行管理,所以部署好之后頁面可以直接訪問 http://102.168.1.200:8001

這里我們先來了解一下如何使用 RESTful 管理接口來管理 Service (服務)、Route(路由)。

  1. 添加一個Service

curl -i -X POST http://localhost:8001/services --data 'name=hello-service' --data 'url=http://localhost:9000/hello'

圖片

curl -i -X POST --url http://localhost:8001/services/ --data 'name=example-service' --data 'url=http://www.baidu.com/'

2.查詢Service

curl http://192.168.1.200:8001/services/hello-service
  curl -i -X POST --url http://localhost:8001/services/example-service/routes --data 'hosts[]=example.com'

圖片

圖片

3.為 Service 添加一個 Route

curl -i -X POST --url http://192.168.1.200:8001/services/hello-service/routes  --data 'paths[]=/hello' --data name=hello-route

圖片

4.測試

我們可以通過訪問 http://192.168.1.200:8000/hello 來驗證一下配置是否正確。

Kong代理:
 url http://192.168.1.200:8000/hello
 Hello world !

真實服務: http://192.168.1.200:9000/hello/

前面的操作就等效于配置 nginx.conf:

server {
   listen 8000;
   location /hello {
     proxy_pass http://192.168.1.200:9000/hello;
   }
 }

不過,前面的配置操作都是動態的,無需像 Nginx一樣需要重啟。

Service是抽象層面的服務,它可以直接映射到一個物理服務,也可以指向一個Upstream(同Nginx中的Upstream,是對上游服務器的抽象)。Route是路由的抽象,它負責將實際的請求映射到 Service。除了Serivce、Route之外,還有 Tag、Consumer、Plugin、Certificate、SNI、Upstream、Target等,讀者可以從 官網的介紹文檔 中了解全貌。

下面在演示一個例子,修改 Service,將其映射到一個 Upstream:

添加 name為 hello-upstream 的 Upstream

curl -i -X POST http://192.168.1.200:8001/upstreams --data name=hello-upstream

圖片

為 mock-upstream 添加 Target,Target 代表了一個物理服務(IP地址/hostname + port的抽象),一個Upstream可以包含多個Targets

curl -i -X POST http://192.168.1.200:8001/upstreams/hello-upstream/targets  --data target="192.168.1.200:9000"

圖片

修改 hello-service,為其配置

curl -i -X PATCH  http://192.168.1.200:8001/services/hello-service --data url='http://hello-upstream/hello'

圖片

上面的配置等同于 Nginx 中的nginx.conf配置 :


upstream hello-upstream{
   server 192.168.1.200:8001;
 }

 server {
   listen 8000;
   location /hello {
     proxy_pass http://hello-upstream/hello;
   }
 }

這里的配置我們也可以通過管理界面來操作。上面操作完之后,在Konga中也有相關信息展示出來:

圖片

圖片

圖片

四、Kong Plugins

Kong通過插件Plugins實現日志記錄、安全檢測、性能監控和負載均衡等功能。下面我將演示一個例子,通過啟動 apikey 實現簡單網關安全檢驗。

  1. 配置 key-auth 插件

curl -i -X POST http://192.168.1.200:8001/routes/hello-route/plugins --data name=key-aut

圖片

這個插件接收 config.key_names 定義參數,默認參數名稱 ['apikey']。在 HTTP 請求中 header 和 params 參數中包含 apikey 參數,參數值必須 apikey 密鑰,Kong 網關將堅持密鑰驗證通過才可以訪問后續服務。

此時我們使用 curl -i http://192.168.1.200:8000/hello/ 來驗證一下是否生效,如果如下所示,訪問失敗(HTTP/1.1 401 Unauthorized,"No API key found in request" ),說明 Kong 安全機制生效了。

圖片

在 Konga 中我們也可以看到相關記錄:

圖片

2.為Service添加服務消費者(Consumer)

定義消費者訪問 API Key, 讓他擁有訪問 hello-service 的權限。

創建消費者 Hidden:

curl -i -X POST http://192.168.1.200:8001/consumers/  --data username=Hidden

圖片

創建成功之后,返回:


{"custom_id":null,"created_at":1678268549,"id":"e097fc26-ccd0-4fa7-b370-f6eec4797d5f","tags":null,"username":"Hidden"}

之后為消費者 Hidden 創建一個 api key,輸入如下命令:

curl -i -X POST http://192.168.1.200:8001/consumers/Hidden/key-auth/  --data key=123456

圖片


{"created_at":1678268632,"consumer":{"id":"e097fc26-ccd0-4fa7-b370-f6eec4797d5f"},"id":"d560969d-ff8b-4204-a09f-3474217a4a29","tags":null,"ttl":null,"key":"123456"}

現在我們再來驗證一下 http://192.168.1.200:8000/hello:

curl -i http://192.168.1.200:8000/hello/ --header "apikey:123456"

返回:

HTTP/1.1 200 OK
 Content-Type: text/html; charset=utf-8
 Content-Length: 14
 Connection: keep-alive
 Date: Tue, 18 Oct 2022 01:32:30 GMT
 Server: WSGIServer/0.1 Python/2.7.5
 X-Frame-Options: SAMEORIGIN
 X-Kong-Upstream-Latency: 13
 X-Kong-Proxy-Latency: 19
 Via: kong/1.5.1

 Hello world !

其他的插件可選

圖片

或者進入插件倉庫去了解

https://docs.konghq.com/hub/

圖片

Kong 網關插件概括為如下:

  • 身份認證插件:Kong 提供了 Basic Authentication、Key authentication、OAuth2.0 authentication、HMAC authentication、JWT、LDAP authentication 認證實現。
  • 安全控制插件:ACL(訪問控制)、CORS(跨域資源共享)、動態 SSL、IP 限制、爬蟲檢測實現。
  • 流量控制插件:請求限流(基于請求計數限流)、上游響應限流(根據 upstream 響應計數限流)、請求大小限制。限流支持本地、Redis 和集群限流模式
  • 分析監控插件:Galileo(記錄請求和響應數據,實現 API 分析)、Datadog(記錄 API Metric 如請求次數、請求大小、響應狀態和延遲,可視化 API Metric)、Runscope(記錄請求和響應數據,實現 API 性能測試和監控)。
  • 協議轉換插件:請求轉換(在轉發到 upstream 之前修改請求)、響應轉換(在 upstream 響應返回給客戶端之前修改響應)。
  • 日志應用插件:TCP、UDP、HTTP、File、Syslog、StatsD、Loggly 等。

五、總結

Kong 作為 API 網關提供了 API 管理功能及圍繞 API 管理實現了一些默認的插件,另外還具備集群水平擴展能力,從而提升整體吞吐量。Kong 本身是基于 OpenResty,可以在現有 Kong 的基礎上進行一些擴展,從而實現更復雜的特性。雖然有一些特性 Kong 默認是缺失的,如 API 級別的超時、重試、fallback 策略、緩存、API 聚合、AB 測試等,這些功能插件需要企業開發人員通過 Lua 語言進行定制和擴展。綜上所述,Kong API 網關默認提供的插件比較豐富, 適應針對企業級的 API 網關定位。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 網關
    +關注

    關注

    9

    文章

    4605

    瀏覽量

    51552
  • API
    API
    +關注

    關注

    2

    文章

    1518

    瀏覽量

    62449
  • nginx
    +關注

    關注

    0

    文章

    154

    瀏覽量

    12240
  • go語言
    +關注

    關注

    1

    文章

    158

    瀏覽量

    9094
收藏 人收藏

    評論

    相關推薦

    API信息全掌控,方便你的日志管理——阿里云推出API網關打通日志服務

    摘要: 近日,阿里云API網關對接了日志服務,可以輸出用戶在API網關產生的API調用日志,目前支持將
    發表于 02-06 15:24

    哪位大神可以詳細介紹MQTT API嗎?

    MQTT API介紹
    發表于 04-02 07:24

    AI邊緣計算網關介紹

    AI邊緣計算網關介紹:智能網關支持物聯網硬件多協議接入,適應各種無線通信協議場景。只需通過硬件板卡的快速裝卸,就可以實現功能的自由增刪。同時智能網關運行Mosquitto等服務實現了M
    發表于 07-26 06:41

    介紹ZigBee網關的架構

    前面的文章中,我們通過實際案例介紹了 ZigBee 網關的架構,相信大家對于網關該如何挑選合適的器件來實現相應功能有了一定了解。那么本文將從硬件設計的角度來繼續網關的話題!硬件電路是
    發表于 11-11 08:18

    介紹LoRaWAN網關的技術基礎及其工作原理

    /軟件組件四、總結在上一篇文章中我大概解釋了什么是LoRaWAN網關。今天我將會更詳細地給大家介紹LoRaWAN網關的技術基礎及其工作原理。只有了解這些,我們才能讓我們更好地了解
    發表于 02-14 07:45

    基于Python的商標信息查詢api調用代碼實例的詳細資料免費下載

    本文檔的主要內容詳細介紹的是基于Python的商標信息查詢api調用代碼實例的詳細資料免費下載。
    發表于 09-06 15:00 ?12次下載
    基于Python的商標信息查詢<b class='flag-5'>api</b>調用代碼實例的<b class='flag-5'>詳細</b>資料免費下載

    ESP8266 Node MCU-API 函數的詳細中文說明

    本文檔的主要內容詳細介紹的是ESP8266的Node MCU-API 函數的詳細中文說明。
    發表于 09-21 08:00 ?103次下載

    什么是API網關為什么需要API網關

    API網關可以看做系統與外界聯通的入口,我們可以在網關進行處理一些非業務邏輯的邏輯,比如權限驗證,監控,緩存,請求路由等等。
    發表于 12-23 09:57 ?1.3w次閱讀
    什么是<b class='flag-5'>API</b><b class='flag-5'>網關</b>為什么需要<b class='flag-5'>API</b><b class='flag-5'>網關</b>

    ESP8266字符串API詳細概述

    本文檔的主要內容詳細介紹的是ESP8266字符串API詳細概述。
    發表于 07-17 08:00 ?1次下載
    ESP8266字符串<b class='flag-5'>API</b>的<b class='flag-5'>詳細</b>概述

    Service Mesh和API網關正在逐步融合

    API Gateway 之間的關系,這個問題過去兩年間經常被問起,社區也有不少文章和資料給出解答。其中不乏 Christian Posta 這樣的網紅給出過深度介紹。我在這里做一個資料的整理和匯總,結合
    的頭像 發表于 10-10 16:39 ?1246次閱讀

    關于API網關策略的知識分享

    近些年隨著云原生和微服務架構的日趨發展,API 網關以流量入口的角色在技術架構中扮演著越來越重要的作用。API 網關主要負責接收所有請求的流量并進行處理轉發至上游服務,
    的頭像 發表于 02-11 10:45 ?1250次閱讀

    API 網關詳細介紹(上)

    業界有很多流行的 API 網關,開源的有 Nginx、Netflix Zuul、Kong 等。當然 Kong 還有商業版,類似的商業版網關還有 GoKu API Gateway 和 T
    的頭像 發表于 05-04 17:28 ?1581次閱讀
    <b class='flag-5'>API</b> <b class='flag-5'>網關</b><b class='flag-5'>詳細</b><b class='flag-5'>介紹</b>(上)

    為什么需要 API 網關

    API 網關API 全生命周期管理的關鍵基礎組件,負責生產環境中 API 的配置、發布、版本回滾、安全、負載均衡等。API
    的頭像 發表于 05-04 17:47 ?843次閱讀
    為什么需要 <b class='flag-5'>API</b> <b class='flag-5'>網關</b>?

    企業怎么選擇API網關

    、騰訊公司的QQ開發平臺、微信開放平臺。 Open API開放平臺必然涉及到客戶應用的接入、API權限的管理、調用次數管理等,必然會有一個統一的入口進行管理,這正是API網關可以發揮作
    的頭像 發表于 05-23 11:05 ?713次閱讀
    企業怎么選擇<b class='flag-5'>API</b><b class='flag-5'>網關</b>

    api網關 kong 教程入門

    統一權限控制、接口請求訪問日志統計 安全,是保護內部服務而設計的一道屏障 開源-最大好處 當然也有一個很大的缺點,api-gw很可能成為性能瓶頸,因為所有的請求都經過這里,可以通過橫向擴展和限流解決這個問題。 在眾多API GATEWAY框架中,Mashape開源的高性
    的頭像 發表于 11-10 11:39 ?873次閱讀
    <b class='flag-5'>api</b><b class='flag-5'>網關</b> kong 教程入門
    主站蜘蛛池模板: 成人xxxxx | 亚洲欧美日韩国产一区二区三区精品 | 亚洲欧美一区二区三区在线播放 | 97影院理论片手机在线观看 | 天天躁狠狠躁狠狠躁夜夜躁 | brazzersvideosexhd欧美高清 | 国产叼嘿视频网站在线观看 | 国产三级日本三级日产三 | 午夜美女视频在线观看高清 | 老司机狠狠k免费毛片 | 国产叼嘿网站免费观看不用充会员 | 鲁久久| 激情丁香婷婷 | 97菊爱网 | 国产精品久久久久久久人热 | 免费的黄色大片 | chinesevideo普通话对白 | 欧美三级一级 | 亚洲系列_1页_mmyy11 | 天天干天天舔天天操 | 国产色视频一区 | 大美女久久久久久j久久 | 国产高清一级视频在线观看 | 女人张开腿让男人做爽爽 | 国产自在自线午夜精品视频 | 日剧天堂 | 色视频网站人成免费 | 国模私拍在线视频 | 玖玖色视频 | 午夜肉伦伦影院在线观看 | 一级片免费在线观看视频 | 亚洲最大成人网色 | 福利视频第一区 | 亚洲色图综合图片 | 日本在线不卡免 | 女人张开腿 让男人桶个爽 免费观看 | 操美女的视频网站 | 香蕉久久夜色精品国产2020 | 2019天天射干 | 欧美人成网 | 久热九九 |