跨语言的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()