最近要進行系統(tǒng)升級,后臺的數(shù)據(jù)是根據(jù)城市區(qū)分的。擔(dān)心新系統(tǒng)的穩(wěn)定性及新數(shù)據(jù)的準(zhǔn)確性,計劃部分城市采用新接口。接口的入?yún)⒗餂]有城市信息,只有經(jīng)緯度坐標(biāo),需要調(diào)用一個thrift接口來根據(jù)坐標(biāo)獲取城市信息。
如果直接修改代碼邏輯,則會造成新舊版本的耦合,不僅完全上線時要再次修改,而且還要增加一次測試流程,這樣成本就有些高了。這時就想到能不能用nginx+lua對新舊版本接口做灰度發(fā)布。
步驟:
1、安裝thrift
2、生成客戶的代碼
3、編譯lua調(diào)用thrift需要的庫
4、實現(xiàn)客戶端代碼
5、測試
1、安裝thrift
thrift最初由facebook開發(fā)用做系統(tǒng)內(nèi)各語言之間的RPC通信,其實它與webservice有很多相似的地方。
首先有一個定義數(shù)據(jù)類型和接口的文件,xxx.thrift(在webservic里面對應(yīng)的是xxx.wsdl),然后用程序去生成對應(yīng)的客戶端/服務(wù)器代碼.
thrift的官方網(wǎng)站http://thrift.apache.org/,在上面可以下載最新版本的thrift(http://thrift.apache.org/downl