? ? ? ? 使用thrift已經(jīng)有段時間了肆捕,目前基本是clien+server的方式,負載是通過nginx來處理。這種處理方式有兩個比較大的弊端:
第一:客戶端與服務端的關聯(lián)太緊密誉帅,耦合性強
第二:服務的信息沒有形成配置化纳猪,不易中心化調用
我在參考了slimina的大作氧卧,不過他是基于原生的thriftserver來訪問的,另外通過apache pool實現(xiàn)了客戶端的訪問連接池氏堤。而我使用nifty分別對客戶端沙绝,服務器進行了替換,因為nifty自帶連接管理鼠锈。整體思路就是把各服務的配置寫入zk,通過zk來統(tǒng)一協(xié)調闪檬,包括負載的處理」喊剩客戶端就像使用spring的服務類一要粗悯,一個autowire就很方便的調用了。目前只是一個初級版本同欠,接下來首先會在自動生成thrift的idl文件上進行優(yōu)化样傍。當涉及到流處理參數(shù)傳遞的時候横缔,生成的idl是有問題的。
實際上應該是
最后衫哥,貼一下開發(fā)流程
代碼地址swift