0x1
这段时间在线上系统上正式用上了rpcx作为微服务框架,逐渐代替之前使用的go-micro,主要是考虑到简洁性(go-micro要写proto),性能,配套(rpcx有一个服务治理的UI),fork了个项目二次开发,加入了一些需要的功能特性
0x2 关于支持python的技术细节
目前python假如rpcx当中,由于时间人手问题,想快速切换原有的服务到rpcx框架,并没有从rpc协议上去支持,目前的做法是python服务还是用原有的jsonrpc来做,但是在服务注册阶段会按照rpcx的注册方式来注册,无缝集成到rpcx-ui当中,python服务的流程如下:
如图所示,相同语言的调用是直接走RPC的, 不同语言的调用是通过网关来统一调用,一般跨语言的服务调用都是用目前访问量不太大的应用来做,多了一次http的转发,性能会比直接调用差一些。其中直接调用的话go的采用msgpack(可定制,默认支持4种)作为默认的解编码工具,ptyhon是用json,所以性能方面go肯定比py要快,从这个层面来说,但是py胜在快速开发。
来源:oschina
链接:https://my.oschina.net/u/615967/blog/4284413