zerorpc-python官方入门

2017-01-14 19:44:08来源:CSDN作者:qq_30242609人点击

第七城市

原文地址:http://www.zerorpc.io/

一个易于使用的,直观的,跨语言的RPC

zerorpc是一个在服务端进程上提供分布式通信的轻量级的、可靠的跨语言的库。它基于ZeroMQ和MessagePack。提供流式相应(streamed response)——就像python的生成器(generators)——这让zerorpc不仅仅是个典型的RPC引擎。内置心跳包、超时监测以及从失败请求中恢复。自我修复能力、第一类异常以及命令行工具让debug也变得极其简单。

安装

pip install zerorpc

HelloWorld

Server.py

import zerorpcclass HelloRPC(object):    def hello(self, name):        return "Hello, %s" % names = zerorpc.Server(HelloRPC())s.bind("tcp://0.0.0.0:4242")s.run()

Client.py

import zerorpcc = zerorpc.Client()c.connect("tcp://127.0.0.1:4242")print c.hello("RPC")

流式相应(Streaming Responses)

Server.py

import zerorpcclass StreamingRPC(object):    @zerorpc.stream    def streaming_range(self, fr, to, step):        return xrange(fr, to, step)s = zerorpc.Server(StreamingRPC())s.bind("tcp://0.0.0.0:4242")s.run()

Client.py

import zerorpcc = zerorpc.Client()c.connect("tcp://127.0.0.1:4242")for item in c.streaming_range(10, 20, 2):    print item

第一类异常(First-class exception)

Server.py

import zerorpcclass ExceptionalRPC(object):    def bad(self):        raise Exception(":P")s = zerorpc.Server(ExceptionalRPC())s.bind("tcp://0.0.0.0:4242")s.run()

Client.py

import zerorpcc = zerorpc.Client()c.connect("tcp://127.0.0.1:4242")try:    c.bad()except Exception, e:    print "An error occurred: %s" % e

文档

  • Pycon Vedio(在Utube上,需翻墙)
  • Pycon Notes
  • 协议介绍
第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台