rpc框架thrift

ぃ、小莉子 提交于 2020-03-11 08:11:15

跨语言的rpc框架

 

新建一个thrift文件

# ping service demoservice 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()

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!