Skip to main content

django micro service app.

Project description

djmicroservice

django restfull框架下的微服务应用包。

一. 安装

  • 依赖包

    • django >=2.0
    • djangorestframework >=3.8
    • djangorestframework-jwt >=1.6
    • djkeeper >=0.2
    • South >=1.0
    • coreapi >=2.3.3
    • simple-rest-client >=0.5.2
    • stomp.py >=4.1.20
  • 安装

     #pip install -r requirements.txt
     #python setup.py install
    
  • 配置

    • django 配置

      • INSTALLED_APPS配置项增加
       INSTALLED_APPS = [
       	'django.contrib.auth',
       	'django.contrib.contenttypes',
       	'django.contrib.sessions',
       	'django.contrib.messages',
       	'django.contrib.staticfiles',    
       	'rest_framework',
       	'djmicroservice',
       ]
      
      • 增加 REST_FRAMEWORK配置项
      REST_FRAMEWORK = {
          'DEFAULT_PERMISSION_CLASSES': (
          ),
          'DEFAULT_AUTHENTICATION_CLASSES': (
              'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
          ),
      }
      
      • 增加 REST_FRAMEWORK配置项
       REST_FRAMEWORK = {
       	'DEFAULT_PERMISSION_CLASSES': (
       	),
       	'DEFAULT_AUTHENTICATION_CLASSES': (
       		'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
       	),
       }
      
      • 增加 JWT_AUTH配置项
       JWT_AUTH = {
       	'JWT_ENCODE_HANDLER':'rest_framework_jwt.utils.jwt_encode_handler',		
       	'JWT_DECODE_HANDLER':'rest_framework_jwt.utils.jwt_decode_handler',		
       	'JWT_PAYLOAD_HANDLER':'user.jwt.handlers.onlyuser_jwt_payload_handler',		
       	'JWT_PAYLOAD_GET_USER_ID_HANDLER':'rest_framework_jwt.utils.jwt_get_user_id_from_payload_handler',		
       	'JWT_RESPONSE_PAYLOAD_HANDLER':'user.jwt.handlers.onlyuser_jwt_response_payload_handler',		
       	'JWT_SECRET_KEY': SECRET_KEY,
       	'JWT_GET_USER_SECRET_KEY': None,
       	'JWT_PUBLIC_KEY': None,
       	'JWT_PRIVATE_KEY': None,
       	'JWT_ALGORITHM': 'HS256',
       	'JWT_VERIFY': True,
       	'JWT_VERIFY_EXPIRATION': True,
       	'JWT_LEEWAY': 0,
       	'JWT_EXPIRATION_DELTA': datetime.timedelta(seconds=36000),
       	'JWT_AUDIENCE': None,
       	'JWT_ISSUER': None,		
       	'JWT_ALLOW_REFRESH': True,
       	'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(days=7),		
       	'JWT_AUTH_HEADER_PREFIX': 'JWT',
       	'JWT_AUTH_COOKIE': None,		
       }
      
      • 增加 DJMICROSERVICE配置项
       DJMICROSERVICE = { 
       	#微服务名字
       	'NAME': DEFAULT_NAME ,
       	#微服务URL
       	'URL': 'http://127.0.0.1:8000/',
       	#是否是主节点
       	'MASTER': True, 
       	#微服务资源
       	'RESOURCES': {        
       	}, 
       	#服务发现配置 
       	'DISCOVER': {
       		#是否注册
       		'REGISTER': False,
       		#心跳
       		'HEARTBEAT': 15,
       		#发现者引擎 
       		'ENGINE': 'djmicroservice.discovers.backends.StaticDiscover',
       		#引擎配置
       		'OPTIONS': {
       			'SERVICES':[
       			]
       		},
       	},
       	#客户端配置
       	'CLIENT':{        
       		#认证管理微服务名
       		'AUTH': None,
       		'OBTAIN': None,
       		'REFRESH': None,
       		'VERIFY': None,
       		'USER': None,
       		'PASSWORD': None,
       		'JWT_HEADER_PFX': 'JWT',
       		'TIMEOUT': 2,
       		'AUTO_LOGIN': False,
       	},  
       	#消息队列端配置  
       	'MQ':{
       		#消息队列引擎
       		'ENGINE': 'djmicroservice.mq.backends.ActiveMQ',
       		#引擎配置
       		'OPTIONS': {
       			#消息服务器地址,可以多个
       			'SERVERS': [('127.0.0.1',61613)],
       			#消息服务器登录名
       			'USER': 'admin',
       			#消息服务器密码
       			'PASSWORD': 'admin',
       		},
       		'HANDLERS': { 
       		},
       	},
       	'SERVICE_MANAGER':{
       		#服务管理地址
       		'BIND':('127.0.0.1',56560),
       		'AUTH_KEY':None,
       		#要启动的服务
       		'SERVICES':[        
       			('onlyuser.mq.service.MQService', 1),
       		]
       	}
       }
      

二. RESTful API规范

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

djmicroservice-1.0.7.tar.gz (22.8 kB view hashes)

Uploaded Source

Built Distribution

djmicroservice-1.0.7-py3-none-any.whl (31.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page