Kong 是在客戶端和(微)服務間轉(zhuǎn)發(fā)API通信的API網(wǎng)關(guān),通過插件擴展功能聪姿。Kong 有兩個主要組件:
1迅腔、Kong Server :基于nginx的服務器,用來接收 API 請求凸椿。
2、Apache Cassandra:用來存儲操作數(shù)據(jù)泽西。
你可以通過增加更多 Kong Server 機器對 Kong 服務進行水平擴展佛纫,通過前置的負載均衡器向這些機器分發(fā)請求。根據(jù)文檔描述萌焰,兩個Cassandra節(jié)點就足以支撐絕大多數(shù)情況哺眯,但如果網(wǎng)絡非常擁擠,可以考慮適當增加更多節(jié)點扒俯。
對于開源社區(qū)來說奶卓,Kong 中最誘人的一個特性是可以通過插件擴展已有功能,這些插件在 API 請求響應循環(huán)的生命周期中被執(zhí)行撼玄。插件使用 Lua 編寫夺姑,而且Kong還有如下幾個基礎(chǔ)功能:HTTP 基本認證、密鑰認證掌猛、CORS( Cross-origin Resource Sharing盏浙,跨域資源共享)、TCP荔茬、UDP废膘、文件日志、API 請求限流兔院、請求轉(zhuǎn)發(fā)以及 nginx 監(jiān)控殖卑。
Kong可運行在某些 Linux 發(fā)行版、Mac OS X 和 Docker 中坊萝,無論是本地機還是云端服務器皆可運行孵稽。
除了免費的開源版本许起,Mashape 還提供了付費的企業(yè)版,其中包括技術(shù)支持菩鲜、使用培訓服務以及 API 分析插件园细。
上面簡介摘自:http://www.infoq.com/cn/news/2015/04/kong
Kong是一個在Nginx運行的Lua應用程序,由lua-nginx-module實現(xiàn)接校。Kong和OpenResty一起打包發(fā)行猛频,其中已經(jīng)包含了lua-nginx-module。OpenResty不是Nginx的分支蛛勉,而是一組擴展其功能的模塊鹿寻。
KONG可以在多種操作環(huán)境下安裝。包括一下環(huán)境:
這里主要使用下centos環(huán)境進行部署诽凌。
1毡熏、安裝Kong
yum install -y?https://kong.bintray.com/kong-community-edition-rpm/centos/7/kong-community-edition-0.13.1.el7.noarch.rpm
2、安裝 PostgreSQL 9.5+
yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-3.noarch.rpm
yum install postgresql95 postgresql95-server
/usr/pgsql-9.5/bin/postgresql95-setup initdb
vim /var/lib/pgsql/9.5/data/postgresql.conf
# cat /var/lib/pgsql/9.5/data/pg_hba.conf | grep 127.0.0.1 | grep trust | sed -i s/ident/trust/
sed -i? /^listen_addresses/c\listen_addresses=\'*\' /var/lib/pgsql/9.4/data postgresql.conf
systemctl enable postgresql-9.5 ; systemctl start postgresql-9.5
3侣诵、授權(quán)Kong數(shù)據(jù)庫
su - postgres << EOF
psql << XOF
CREATE USER kong; CREATE DATABASE kong OWNER kong;
XOF
EOF
4痢法、導入Kong數(shù)據(jù)
kong migrations up
5、啟動Kong
cp /etc/kong/kong.conf.default /etc/kong/kong.conf
kong start
#?kong stop? ?# kong reload?
6杜顺、驗證Kong是否成功啟動
curl -I -m 10 -o /dev/null -s -w '%{http_code}\n' http://localhost:8001/
if [[ $? -ne 0 ]] ;then echo "醬紫就成功了耶~"; fi
Kong默認監(jiān)聽下面端口:
8000财搁,監(jiān)聽來自客戶端的HTTP流量,轉(zhuǎn)發(fā)到你的upstream服務上躬络。
8443尖奔,監(jiān)聽HTTPS的流量,功能跟8000一樣洗鸵≡叫猓可以通過配置文件禁止。
8001膘滨,Kong的HTTP監(jiān)聽的api管理接口甘凭。
8444,Kong的HTTPS監(jiān)聽的API管理接口火邓。
7丹弱、安裝kong-dashboard圖形化管理
# 安裝 Kong Dashboard
npm install -g kong-dashboard
# 啟動 Kong Dashboard
kong-dashboard start --kong-url http://localhost:8001
# 用自定義端口啟動 Kong Dashboard?
# kong-dashboard start \ --kong-url http://localhost:8001 \ --port [port]
# 使用權(quán)限認證啟動 Kong Dashboard
# kong-dashboard start \ --kong-url http://kong:8001 \ --basic-auth user1=password1 user2=password2
# Kong Dashboard 幫助文檔
# kong-dashboard start --help
注意:安裝的對應版本,最新的Kong是0.14.x铲咨,而Kong-Dashboard暫時支持最高版本0.13.x
參考地址:https://github.com/PGBI/kong-dashboard
附:
然后躲胳,就可以訪問 http://localhost:80080,使用Kong-Dashboard對Kong進行管理了纤勒。
大概是長這個樣子的: