rpc框架thrift
跨语言的rpc框架
新建一个thrift文件
# ping service demo
service PingService {
string ping(), ping函数的返回类型是字符串
}
server.py
# -*- coding: utf-8 -*- import thriftpy from thriftpy.rpc import make_server pp_thrift = thriftpy.load("pingpong.thrift", module_name="pp_thrift") class Dispatcher(object): def ping(self): print("ping pong!") return 'pong' def main(): server = make_server(pp_thrift.PingService, Dispatcher(), '0.0.0.0', 6000) print("serving...") server.serve() if __name__ == '__main__': main()
client.py
# -*- coding: utf-8 -*- import thriftpy from thriftpy.rpc import client_context pp_thrift = thriftpy.load("pingpong.thrift", module_name="pp_thrift") def main(): with client_context(pp_thrift.PingService, '127.0.0.1', 6000) as c: pong = c.ping() print(pong) if __name__ == '__main__': main()
反对极端面向过程编程思维方式,喜欢面向对象和设计模式的解读,喜欢对比极端面向过程编程和oop编程消耗代码代码行数的区别和原因。致力于使用oop和36种设计模式写出最高可复用的框架级代码和使用最少的代码行数完成任务,致力于使用oop和设计模式来使部分代码减少90%行,使绝大部分py文件最低减少50%-80%行的写法。