1. Docker
如果pull时出现 missing signing key
,应该是因为版本过低,需要更新到最新版本:
卸载旧版本:
1 | yum erase docker \ |
安装最新版本:
1 | yum install docker-ce -y |
2. Docker 安装完整过程
添加软件仓库:
1 |
|
自动安装Docker社区版:
1 | yum install docker-ce docker-ce-cli containerd.io |
启动Docker:
1 | systemctl start docker |
查看Docker状态:
1 | systemctl status docker |
配置阿里云国内镜像:
- 获取自己的阿里云镜像加速地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
- 编辑Docker配置文件:
1 | mkdir -p /etc/dockr |
- 查看是否配置正确:
1 | docker info |
配置完docker后pull代码即可
3. 框架接入和部署方案
1)框架接入
step1:依赖中间件需要用户部署,并在flowSvr的config文件中配置对应的信息:
- MySQL
- Redis
step2:启动flowSvr
step3:worker由业务方import进来后实现三个接口的业务逻辑:
- ContentLoad:解析上下文
- HandleProcess:业务处理逻辑
- HandleFinish:处理业务日志等信息
step4:启动worker
注:worker和flowSvr之间的通信是通过HTTP协议,且双方之间独立的,其中只有flowSvr会对数据库中任务信息表、任务配置表及任务位置表进行操作
2)框架部署参数
参数 | 值 |
---|---|
flowSvr | 单机上3个(北斗解算1个,传感数据查询与存储2个) |
worker | 单机上每个flowSvr各1个 |
MySQL | 单机上1个 |
Redis | 单机上1个 |
代码量 | 约8000行 |
硬件 | 阿里云服务器(2核4G) |
压测 | 3000QPS |
附录
运行代码
- 从akira用户进入后切换到root用户:
sudo su
- 启动docker:
systemctl start docker
- 启动db
- 遇到remove container时,表示尝试启动的Docker容器名字“async-flow-db”已经被另一个正在运行或已经存在的容器所占用,需要先删除container再启动db就可以看到db启动成功的结果
- 进入容器环境
- 进入dist目录
- 从后台启动flowSvr:
./flowsvr &
- 启动worker:
./worker
从windows中查看代码(windows+vscode打开centos的文件夹)
vscode+docker远程调试
在vscode中远程连接centos,然后在远程打开的centos中安装dev container
插件和docker
插件
自然就能通过attach visual studio code to container打开新的容器的vscode窗口来调试代码
参考视频:VsCode轻松使用docker容器-Remote Containers
接口调试
接口调试网站中创建自己的api测试案例:Apipost
- 发送请求时出现报错:
- 解决方法:在设置-代理中添加代理(测试接口需要关掉vpn)