持續維護地址:http://jaylin.wang/2016/kong-...html
公司準備更好的實現微服務架構,我前期的任務主要是 API 開發相關的技術學習,微服務會隨着業務的增長不斷增長,客戶端調用微服務的 API 也隨着增長,這時,一個統一 API 的中間件就有必要了。瞄準了 Kong 這個解決方案,接下來的幾天時間就來折騰這個東西。nginx
Kong 是 Mashape 開源的一個 API 中間件項目,基於 Nginx 構建,支持 PostgreSQL 和 Apache Cassandra 存儲。支持經過集羣實現性能擴展,支持經過插件實現功能擴展,而且能夠運行於如今主流的運行環境。sql
咱們能夠用 Kong 官方提供的一張圖來表述客戶端 - Kong - API 之間的請求關係:數據庫
Kong 會代理來自不一樣地方的 API, 而且轉發全部來自客戶端的 API 請求。apache
準備依靠阿里雲 RDS for PostgreSQL 方便對 API 存儲的管理,因此本地搭建 Kong 服務的時候也是選擇在 Centos7 上安裝 PostgreSQL。api
Kong 自己的安裝並不複雜,但所依賴的技術須要仔細學習一番,我也是被周圍的東西秀了一臉~,列出一個本身在搭建過程當中用到的相關技術,有一些仔細看了一番,也有一些淺嘗而止,今後篇慢慢發散、完善補吧~bash
由於忽略的一個以前沒注意的 warning 致使本身花一天時間去解決一個錯誤,浪費一大把陪媳婦兒的時間,不開森~~~架構
warning 是這樣的:ide
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").
相信你們也是遇到過,以前貌似沒形成什麼影響,此次就栽了... 解決方案是在 profile/.bashrc 中指定 LC_ALL:微服務
echo "export LC_ALL=en_US.UTF-8" >> /etc/profile source /etc/profile
最後留下一句小林名言:
Warning is error,not ok,let‘s kill it