AkiraZheng's Time.

Asyncflow项目1:环境部署

Word count: 704Reading time: 2 min
2024/06/14

1. Docker

Docker 安装教程参考

如果pull时出现 missing signing key,应该是因为版本过低,需要更新到最新版本:

卸载旧版本:

1
2
3
4
5
6
7
8
9
10
11
yum erase docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce

安装最新版本:

1
yum install docker-ce -y

2. Docker 安装完整过程

添加软件仓库:

1
2
3

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

自动安装Docker社区版:

1
yum install docker-ce docker-ce-cli containerd.io

启动Docker:

1
systemctl start docker

查看Docker状态:

1
systemctl status docker

配置阿里云国内镜像:

  • 编辑Docker配置文件:
1
2
3
4
5
6
7
8
9
10
11
12
mkdir -p /etc/dockr

tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":["https://填入刚刚的镜像源.mirror.aliyuncs.com"]
}
EOF

systemctl daemon-reload

systemctl restart docker

  • 查看是否配置正确:
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

附录

运行代码

  1. 从akira用户进入后切换到root用户:sudo su
  2. 启动docker:systemctl start docker
  3. 启动db
    • 遇到remove container时,表示尝试启动的Docker容器名字“async-flow-db”已经被另一个正在运行或已经存在的容器所占用,需要先删除container再启动db就可以看到db启动成功的结果
  4. 进入容器环境
  5. 进入dist目录
  6. 从后台启动flowSvr:./flowsvr &
  7. 启动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)
CATALOG
  1. 1. Docker
  2. 2. Docker 安装完整过程
  3. 3. 框架接入和部署方案
  4. 附录
    1. 运行代码
  5. 从windows中查看代码(windows+vscode打开centos的文件夹)
  • vscode+docker远程调试
    1. 接口调试