摘要:我們需要將業(yè)務(wù)或服務(wù)放置在網(wǎng)關(guān)背后,由網(wǎng)關(guān)統(tǒng)一處理請求入口,本身由多個入口的處理變成了一個入口,由網(wǎng)關(guān)進行統(tǒng)一調(diào)度。網(wǎng)關(guān)負責來搞這些事情,你只需要知道網(wǎng)關(guān)就好了。
構(gòu)建完成 API 服務(wù),配置中心之后,架構(gòu)圖大致如下:
我們?yōu)楹涡枰W(wǎng)關(guān)引用 別人 的一句話:
我們總是聽到編排這個詞,所以我喜歡這張幻燈片 – 它展示了一個樂隊,然后有個指揮家,下面一堆人(微型服務(wù))演奏自己的樂器。這個指揮家(API網(wǎng)關(guān))可以以某種方式來協(xié)調(diào)我們的架構(gòu)如何處理請求。
我們需要將業(yè)務(wù)或服務(wù)放置在網(wǎng)關(guān)背后,由網(wǎng)關(guān)統(tǒng)一處理請求入口,本身由多個入口的處理變成了一個入口,由網(wǎng)關(guān)進行統(tǒng)一調(diào)度。
有一個很nice的事情,就是API網(wǎng)關(guān)讓我們的客戶端不用再需要知道和關(guān)心模塊的地址(address)了。網(wǎng)關(guān)負責來搞這些事情,你只需要知道網(wǎng)關(guān)就好了。你可以去改變實現(xiàn)而且還可以改變API接口。不過通常來說,你改變接口后,會增加客戶端出問題的風險。
還有很多有趣的功能,有興趣的朋友可以參考:
微服務(wù)與API 網(wǎng)關(guān)(上): 為什么需要API網(wǎng)關(guān)?
微服務(wù)與API 網(wǎng)關(guān)(下): Kong能為我們做什么?
構(gòu)建由于本人使用 ubuntu 虛擬機,所以此處只介紹 ubuntu 下的安裝,其他安裝方式可參考: kong installation
sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update sudo apt-get install postgresql-9.6
安裝 postgresql 完成后,初始化數(shù)據(jù)庫:
su postgres psql CREATE USER kong; CREATE DATABASE kong OWNER kong;
ctrl + D 退出
$ sudo apt-get update $ sudo apt-get install openssl libpcre3 procps perl $ sudo dpkg -i kong-0.10.3.*.deb
$ kong start # Kong is running $ curl 127.0.0.1:8001
這個過程可能會出現(xiàn): [postgres error] FATAL: password authentication failed for user "kong"
查看 pgsql 配置文件所在位置,因為我是 apt-get install 的,因此,存儲位置在 /etc/postgresql/9.6/
修改 /etc/postgresql/9.6/main/pg_hba.conf 文件,找到IPv4 配置項,約92行,修改
host all all 127.0.0.1/32 md5 => host all all 127.0.0.1/32 trust
重新啟動即可。
$ sudo kong start整合 FastD API
curl -i -X POST http://127.0.0.1:8001/apis/ --data "name=example-fastd" --data "hosts=fastd.com" --data "upstream_url=http://127.0.0.1:9527"
添加 API Server 到網(wǎng)關(guān),成果會返回 201 狀態(tài)嗎表示創(chuàng)建成功 (Created)
獲取列表: http://127.0.0.1:8001/apis/
發(fā)起請求.
curl -i -X GET --url http://127.0.0.1:8000/ --header "Host: fastd.com"
此時此刻你會發(fā)現(xiàn)已經(jīng)成功使用 kong 對其進行代理,至此之外,已經(jīng)完成了基本的網(wǎng)關(guān)接入。最終架構(gòu)圖如下:
插件kong 提供的插件非常豐富,因為也是基于 lua 的,因此你可以使用 openresty 對其進行擴展,開發(fā)更加貼近業(yè)務(wù)的應(yīng)用。
插件文檔: 點擊
更多可看 kong 官方文檔。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/25657.html
摘要:的展示非常炫酷,絕對是運維提升逼格的一大利器。另外的可視化功能比強得多,而且以上版本將集成報警功能。它由寫成,著力于高性能地查詢與存儲時序型數(shù)據(jù)。被廣泛應(yīng)用于存儲系統(tǒng)的監(jiān)控數(shù)據(jù),行業(yè)的實時數(shù)據(jù)等場景。 原有監(jiān)控系統(tǒng) showImg(https://segmentfault.com/img/remote/1460000011082384); 整個系統(tǒng)以 Graphite (carbon ...
摘要:最佳實踐一構(gòu)建是一個專門針對應(yīng)用層而生的一個應(yīng)用框架,提供良好的中間件,路由以及支持擴展運行,從而具體良好的性能條件。手動創(chuàng)建添加路由地址調(diào)用完成最第一個路由。緩存也是一個前置中間件,使用方式與日常操作保持一致。 FastD 最佳實踐一: 構(gòu)建 API FastD 是一個專門針對 API 應(yīng)用層而生的一個 PHP 應(yīng)用框架,提供良好的中間件,路由以及支持 swoole 擴展運行,從而具...
摘要:點擊前往中文地址先決條件簡單安裝下載地址下載或者其他都可以。版本處理方案新建格式日志文件。配置日志會隨著配置進行生成,結(jié)果如下忽略上述日志內(nèi)容,程序看得懂即可配置推送到需要根據(jù)業(yè)務(wù)場景進行配置,現(xiàn)在顯示最簡單的配置。 過去咱們開發(fā)中,對日志這個環(huán)節(jié)其實并不太重視,直到有一天,應(yīng)用出現(xiàn)異常,這個時候才想起來日志,但很可惜,為時已晚。 咱們做運維和開發(fā),除了救火,還需要防火,因此一些防范的...
摘要:過去專門做了一篇文檔來構(gòu)建配置中心,基于的配置中心。環(huán)境要求及構(gòu)建步驟可參考搭建配置中心隨著業(yè)務(wù)增長,部署的機器可能會隨著增長,增加配置難度和維護難度。最終架構(gòu)圖如下無論擴展多少個業(yè)務(wù)應(yīng)用,僅需要一個配置中心即可完成多處配置修改。 過去專門做了一篇文檔來構(gòu)建配置中心,基于 zookeeper 的配置中心。 環(huán)境要求及構(gòu)建步驟可參考: QConf搭建配置中心 隨著業(yè)務(wù)增長,部署的機器可能...
摘要:調(diào)整配置文件在選項中,追加即可。有了以上系統(tǒng)常規(guī)監(jiān)控日志集中分析應(yīng)用調(diào)用鏈監(jiān)控,我們的業(yè)務(wù)就可以變得更加透明,清晰,可控。相關(guān)文章最佳實踐四構(gòu)建系統(tǒng)可視化監(jiān)控最佳實踐五構(gòu)建日志分析 zipkin是一個開放源代碼分布式的跟蹤系統(tǒng),由Twitter公司開源,它致力于收集服務(wù)的定時數(shù)據(jù),以解決微服務(wù)架構(gòu)中的延遲問題,包括數(shù)據(jù)的收集、存儲、查找和展現(xiàn)。它的理論模型來自于Google Dappe...
閱讀 1414·2021-10-14 09:43
閱讀 1006·2021-09-10 10:51
閱讀 1459·2021-09-01 10:42
閱讀 2200·2019-08-30 15:55
閱讀 595·2019-08-30 15:55
閱讀 2356·2019-08-30 14:21
閱讀 1728·2019-08-30 13:04
閱讀 3478·2019-08-29 13:09