RPC4Django分布式的使用详解-服务端与客户端

RPC4Django具体分成两个部分,在此先共享下服务端的:

软件需求(官方是这样要求的):

 

[python] view plain copy

  1. python 2.4-2.7  
  2. Django 1.0 +   

 

首先安装rpc4django

 

[python] view plain copy

  1. #tar xvfz rpc4django-x.y.z.tar.gz  
  2. #cd rpc4django-x.y.z  
  3. #python setup.py install  
  4. 和django的安装没什么两样  

 

不过也可以不用安装的,只需要将rpc4django压缩包解开,放入你的Django项目下即可

 

[python] view plain copy

  1. #tar xvfz rpc4django-x.y.z.tar.gz  
  2. #cd rpc4django-x.y.z  
  3. #cp -r rpc4django 你的Django项目目录  

 

然后就是配置

urls.py配置

 

[python] view plain copy

  1. # urls.py    
  2. urlpatterns = patterns('',    
  3.     # rpc4django will need to be in your Python path    
  4.     (r'^RPC2,'rpc4django.views.serve_rpc_request'),    
  5. )    

RPC处可以换成任意的位置

setting.py配置

 

[python] view plain copy

  1. # settings.py  
  2. INSTALLED_APPS = (  
  3.     'rpc4django',  
  4. )  
  5. # 将rpc4django加入APP  

最后注册可以远程调用的方法,在任意app的__init__.py中

 

[python] view plain copy

  1. # testapp/__init__.py  
  2. from rpc4django import rpcmethod  
  3. @rpcmethod(name='mynamespace.add', signature=['int', 'int', 'int'])  
  4. def add(a, b):  
  5.     '''''Adds two numbers together 
  6.     >>> add(1, 2) 
  7.     3 
  8.     '''  
  9.     return a+b  


客户端调用:
    import xmlrpclib  
    server = xmlrpclib.ServerProxy("http://127.0.0.1:8000")  
    # 访问对应server上的RPC方法  
    # add()方法是服务端定义好的程序  
    rst = server.add(1,2)  

 

你可能感兴趣的:(分布式,Django)