# nacos-app **Repository Path**: xuyiqing/nacos-app ## Basic Information - **Project Name**: nacos-app - **Description**: 用Python实现一个Django App,用来实现Django Web程序服务注册到Nacos中心,并提供心跳检测,基于服务名的负载均衡调用等功能 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-05-08 - **Last Updated**: 2023-05-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目说明 一个Django app用于注册nacos 官方pypi访问地址 https://pypi.org/project/nacos-app/ ### 依赖库清单 - python >= 3.6 - django >= 2.0 - requests anyversion ### 安装环境方式 pypi安装: pip install nacos-app 源码安装: python setup.py install ### 功能及作用 1、适用于Django服务程序注册微服务实例至nacos服务中心,实现服务集群健康检测,服务弹性伸缩,压力负载均衡; 2、实现了服务与注册中心的登录授权,服务注册,心跳检测; 3、增加查询服务列表接口功能 4、二次封装requests,增加支持LoadBalance的请求发送工具, 可以根据服务名名称自动查找服务ip:port ### 引入方式 以下两点同时满足后方可启动服务注册 1、在django对应settings中INSTALLED_APPS添加nacos_app ``` INSTALLED_APPS = [ 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.staticfiles', 'nacos_app.apps.NacosRegisterConfig' ] ``` 2、django程序需要在settings环境配置中写入服务注册的信息 ``` NACOS_SERVER_DISCOVERY = { "server_addr": "", # nacos服务中心地址,多个英文逗号隔开 "namespace": "", # 命名空间 "group_name": "", # 分组 "ip": "", # 本机ip, 优先级高于socket请求包获取的ip "port": "", # 本机服务端口 "service_name": "", # 本机服务名称 "ephemeral": , # 是否临时实例,true为临时实例 "username": "", # 拥有对应命名空间权限的账户 "password": "", # 密码 "heartbeat_interval": 5 # 心跳检测间隔,单位秒,nacos默认5s } ``` ### gunicorn web服务启动 gunicorn多个worker模式下启动需要添加--preload参数,由管理进程预加载非函数式编程中的代码块,从而避免多个worker同时加载register gunicorn backend.wsgi -w 8 -b 0.0.0.0:port -t 600 --preload