快速MessagePack RPC库
项目描述
根据Apache许可证版本2.0(“许可证”)授权;
除非遵守许可证,否则不得使用此文件。
您可以在以下位置获取许可证副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则在许可证下分发的软件
按“原样”基础分发,
不提供任何形式的明示或暗示保证。
有关许可证下权限和限制的具体语言,请参阅许可证。
...
描述:mprpc
=====
.. image:: https://badge.fury.io/py/mprpc.png
:target: http://badge.fury.io/py/mprpc
.. image:: https://travis-ci.org/studio-ousia/mprpc.png?branch=master
:target: https://travis-ci.org/studio-ousia/mprpc
mprpc是一个轻量级的`MessagePack RPC <https://github.com/msgpack-rpc/msgpack-rpc>`_库。它通过编写少量代码,使您能够轻松构建分布式服务器端系统。它建立在`gevent <http://www.gevent.org/>`_和`MessagePack <http://msgpack.org/>`_之上。
安装
------------
要安装mprpc,只需
.. code-block:: bash
$ pip install mprpc
或者,
.. code-block:: bash
$ easy_install mprpc
示例
--------
RPC服务器
^^^^^^^^^^
.. code-block:: python
from gevent.server import StreamServer
from mprpc import RPCServer
class SumServer(RPCServer)
def sum(self, x, y)
return x + y
server = StreamServer(('127.0.0.1', 6000), SumServer())
server.serve_forever()
RPC客户端
^^^^^^^^^^
.. code-block:: python
from mprpc import RPCClient
client = RPCClient('127.0.0.1', 6000)
print client.call('sum', 1, 2)
带有连接池的RPC客户端
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: python
import gsocketpool.pool
from mprpc import RPCPoolClient
client_pool = gsocketpool.pool.Pool(RPCPoolClient, dict(host='127.0.0.1', port=6000))
with client_pool.connection() as client
print client.call('sum', 1, 2)
性能
-----------
mprpc显著优于`官方MessagePack RPC`_(**1.8倍**更快),后者使用`Facebook的Tornado `_和`MessagePack `_构建,以及`ZeroRPC `_(**14倍**更快),后者使用`ZeroMQ `_和`MessagePack `_构建。
结果
^^^^^^^
.. image:: https://raw.github.com/studio-ousia/mprpc/master/docs/img/perf.png
:width: 550px
:height: 150px
:alt: 性能比较
mprpc
~~~~~
.. code-block:: bash
% python benchmarks/benchmark.py
调用: 9508 qps
使用连接池的调用: 10172 qps
官方MessagePack RPC
~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: bash
% pip install msgpack-rpc-python
% python benchmarks/benchmark_msgpackrpc_official.py
调用: 4976 qps
ZeroRPC
~~~~~~~
.. code-block:: bash
% pip install zerorpc
% python benchmarks/benchmark_zerorpc.py
调用: 655 qps
文档
-------------
文档可在http://mprpc.readthedocs.org/找到。
关键词: rpc,msgpack,messagepack,msgpackrpc,messagepackrpc,messagepack rpc,gevent
平台: 未知
分类: 开发状态 :: 4 - 测试版
分类: 目标受众 :: 开发者
分类: 自然语言 :: 英语
分类: 许可证 :: OSI批准 :: Apache软件许可证
分类: 编程语言 :: Python
分类: 编程语言 :: Python :: 2.6
分类: 编程语言 :: Python :: 2.7
分类: 编程语言 :: Python :: 3.3
分类: 编程语言 :: Python :: 3.4
分类: 编程语言 :: Python :: 3.5
除非遵守许可证,否则不得使用此文件。
您可以在以下位置获取许可证副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则在许可证下分发的软件
按“原样”基础分发,
不提供任何形式的明示或暗示保证。
有关许可证下权限和限制的具体语言,请参阅许可证。
...
描述:mprpc
=====
.. image:: https://badge.fury.io/py/mprpc.png
:target: http://badge.fury.io/py/mprpc
.. image:: https://travis-ci.org/studio-ousia/mprpc.png?branch=master
:target: https://travis-ci.org/studio-ousia/mprpc
mprpc是一个轻量级的`MessagePack RPC <https://github.com/msgpack-rpc/msgpack-rpc>`_库。它通过编写少量代码,使您能够轻松构建分布式服务器端系统。它建立在`gevent <http://www.gevent.org/>`_和`MessagePack <http://msgpack.org/>`_之上。
安装
------------
要安装mprpc,只需
.. code-block:: bash
$ pip install mprpc
或者,
.. code-block:: bash
$ easy_install mprpc
示例
--------
RPC服务器
^^^^^^^^^^
.. code-block:: python
from gevent.server import StreamServer
from mprpc import RPCServer
class SumServer(RPCServer)
def sum(self, x, y)
return x + y
server = StreamServer(('127.0.0.1', 6000), SumServer())
server.serve_forever()
RPC客户端
^^^^^^^^^^
.. code-block:: python
from mprpc import RPCClient
client = RPCClient('127.0.0.1', 6000)
print client.call('sum', 1, 2)
带有连接池的RPC客户端
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. code-block:: python
import gsocketpool.pool
from mprpc import RPCPoolClient
client_pool = gsocketpool.pool.Pool(RPCPoolClient, dict(host='127.0.0.1', port=6000))
with client_pool.connection() as client
print client.call('sum', 1, 2)
性能
-----------
mprpc显著优于`官方MessagePack RPC
结果
^^^^^^^
.. image:: https://raw.github.com/studio-ousia/mprpc/master/docs/img/perf.png
:width: 550px
:height: 150px
:alt: 性能比较
mprpc
~~~~~
.. code-block:: bash
% python benchmarks/benchmark.py
调用: 9508 qps
使用连接池的调用: 10172 qps
官方MessagePack RPC
~~~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: bash
% pip install msgpack-rpc-python
% python benchmarks/benchmark_msgpackrpc_official.py
调用: 4976 qps
ZeroRPC
~~~~~~~
.. code-block:: bash
% pip install zerorpc
% python benchmarks/benchmark_zerorpc.py
调用: 655 qps
文档
-------------
文档可在http://mprpc.readthedocs.org/找到。
关键词: rpc,msgpack,messagepack,msgpackrpc,messagepackrpc,messagepack rpc,gevent
平台: 未知
分类: 开发状态 :: 4 - 测试版
分类: 目标受众 :: 开发者
分类: 自然语言 :: 英语
分类: 许可证 :: OSI批准 :: Apache软件许可证
分类: 编程语言 :: Python
分类: 编程语言 :: Python :: 2.6
分类: 编程语言 :: Python :: 2.7
分类: 编程语言 :: Python :: 3.3
分类: 编程语言 :: Python :: 3.4
分类: 编程语言 :: Python :: 3.5
项目详情
关闭
mprpc-0.1.17.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3589fd127482e291b1ec314d6f0e55cc13311c12932ace356d6178ea1ca28f6a |
|
MD5 | 8d97961051422f3de315613434982d3b |
|
BLAKE2b-256 | 08dd87e7e3290c00e28423e46b483d288f13ddcc88bf71fd0677b619bdee32d3 |