Adopt decentralized development and unified management Develop on a service basis Each service can be started individually or multiple services can be started at the same time Configuration file management specifies which services take effect and deployment is flexible
采用分散开发统一管理。以服务为单位进行开发。每个服务可以单独启动,也可以多个服务同时启动,通过配置文件进行管理指定哪些服务生效,部署方式灵活。
框架代码结构简单易用,易于修改。新手、老鸟皆可把控。
采用gevent实现并发操作,与scrapy的twisted相比,代码更容易理解。
完全模块化的设计,强大的可扩展性。
支持多线程/Gevent两种并发模式
支持分布式
web framework
类似,这里是对服务接口调用进行扩展。entry
装饰器标记。pip install servos-framework
。servos install
,该命令会自动安装各服务在自己目录下 requirements.txt 定义的依赖包,具体参数可以运行 servos help
命令查看。servos runserver --settings cache_settings.ini
。runserver --settings cache_settings.ini
。./setenv.sh
会自动创建virtualenv虚拟环境。source .virtualenvs/services/bin/activate
切换到虚拟环境。servos runserver --settings cache_settings.ini
。servos runserver --settings wss_settings.ini
。构建base镜像
# 初始化外部依赖
python2 docker/prepare.py -v VERSION --pip-server 192.168.103.137:8000 --yum-repo http://192.168.103.137:8001
docker build . -f docker/base/Dockerfile -t service_base:VERSION
构建功能镜像(以cache为例)
cd docker/cache/
docker build . -t service-cache:VERSION
运行服务(以cache为例)
docker run --rm --network host \
-v /etc/portal/cache_settings.ini:/etc/portal/cache_settings.ini \
--name service-wss \
t2cloud-service-wss:VERSION