讓rpcx支持python細節分析之服務調用

0x1

這段時間在線上系統上正式用上了rpcx作爲微服務框架,逐漸代替之前使用的go-micro,主要是考慮到簡潔性(go-micro要寫proto),性能,配套(rpcx有一個服務治理的UI),fork了個項目二次開發,加入了一些需要的功能特性

網關: https://github.com/halokid/rpcx-gateway

框架: https://github.com/halokid/rpcx

0x2 關於支持python的技術細節

目前python假如rpcx當中,由於時間人手問題,想快速切換原有的服務到rpcx框架,並沒有從rpc協議上去支持,目前的做法是python服務還是用原有的jsonrpc來做,但是在服務註冊階段會按照rpcx的註冊方式來註冊,無縫集成到rpcx-ui當中,python服務的流程如下:

如圖所示,相同語言的調用是直接走RPC的, 不同語言的調用是通過網關來統一調用,一般跨語言的服務調用都是用目前訪問量不太大的應用來做,多了一次http的轉發,性能會比直接調用差一些。其中直接調用的話go的採用msgpack(可定製,默認支持4種)作爲默認的解編碼工具,ptyhon是用json,所以性能方面go肯定比py要快,從這個層面來說,但是py勝在快速開發。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章