最開始只是想找個API網(wǎng)關(guān)防止API被惡意請求,找了一圈發(fā)現(xiàn)基于Nginx的OpenResty(Lua語言)擴展模塊Orange挺好(也找了Kong,但是感覺復雜了點沒用),還偷懶用Vagrant結(jié)合Docker來快速搭建環(huán)境,基于別人的Dockerfile把整個實驗跑通了,覺得還不錯。想著好像CoreOS是專門為Docker服務(wù)的,還買了一本《CoreOS實踐》花小半天時間看完了,CoreOS在集群環(huán)境下確實很牛,但是我的環(huán)境還是輕量級點,所以還是基于CentOS來做,就這樣研究了兩天時間,與大家分享一下,歡迎留言拍磚或交流!

問題

一般開發(fā)接口的時候各種語言都已經(jīng)有很成熟的框架了,互聯(lián)網(wǎng)領(lǐng)域用得最多的應該是RESTfull+JSON的模式,但是小型項目對接口基于沒有安全方面、性能等的考慮, 之前寫過一篇直接通過JS抓取數(shù)據(jù)的《玩爽了!直接在Chrome里抓取數(shù)據(jù)》,就算考慮的話實現(xiàn)起來也缺少簡便的辦法,時間上也不一定允許。

 

解決方案

隨著微服務(wù)的流行,需要有一個類似于API網(wǎng)關(guān)的中間件來做API的管理工作,也就是API的實現(xiàn)方面更多的考慮業(yè)務(wù)邏輯,安全、性能、監(jiān)控可以交由網(wǎng)關(guān)來做(如下圖所示,下圖根據(jù)Kong官方文檔修改),這樣既提高業(yè)務(wù)靈活性又不缺安全性。

seo優(yōu)化培訓,網(wǎng)絡(luò)推廣培訓,網(wǎng)絡(luò)營銷培訓,SEM培訓,網(wǎng)絡(luò)優(yōu)化,在線營銷培訓

 

環(huán)境搭建

開頭已經(jīng)說了環(huán)境會涉及到VirtualBox、Vagrant、Docker、Nginx、Lua、OpenRety、Orange,好在基本的坑都已經(jīng)填完了。但你最好也有一些這方面的基礎(chǔ),由于實驗步驟冗長難免有些地方?jīng)]有記錄到或者省略。(本文所有步驟基于MacOS環(huán)境)

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設(shè)計培訓,網(wǎng)站建設(shè)培訓學習是年輕人改變自己的最好方式