轻易云系统对接集成平台
Getting Started
你可以使用 轻易云集成平台,对数据进行传输、转换和集成等操作,从不同的数据存储引入数据,并进行转化和开发,最后将处理好的数据同步至其它数据系统。 轻易云集成平台 集线器作为数据中枢 🧐,提供了一套完整的数据集成与分发解决方案。
基本概念
本文为您介绍 轻易云集成平台 中,接入平台、标准 API、连接器、集线器、队列调度者、队列执行者、数据保管者、和数据映射关系等基本概念。
01 - 🅿️ 接入平台
接入平台是开发团队维护的已经接入到 轻易云集成平台 系统中的各软件平台。开发团队会持续不断的增加新的软件厂商支持。
02 - 📖 标准 API
标准 API 是开发团队在接入软件平台之后,根据目标平台提供的标准 API 文档维护的预设。用户在只用时可以继承这些标准 API 再进行调整修正,可以极大的缩减配置对接的时间。
03 - 🔗 连接器
连接器是用户专属配置的服务器连接信息工具,可以分别添加并隔离开发环境和生产环境的数据源,以保护数据安全。根据具体情况用户可以选择三种不同的环境
-
生产 env_production
-
测试 env_test
-
开发 env_development
👀 在完成开发与测试之后,正式运行之前务必将连接器环境切换到"生产"环境当中!
04 - 🔀 集线器
集线器是整个 轻易云集成平台 的核心,每一个集线器代表一种业务的对接策略,用户可以根据业务的不同新建多个不同规则的集线器。比如:采购订单同步,线上销售出库同步,线下销售出库同步。
一个集线器必须要配置源系统,源系统 API,目标系统,目标系统 API。在后续的章节中我们将大篇幅的介绍集线器的配置细节。
05 - 🤷♀️ 队列调度者&队列执行者
集线器在工作时,无论是向源系统请求查询数据还是向目标系统写入数据,都会先创建相对应的“⏳ 队列任务 ⌛”,这些队列任务并不会立刻执行,系统会根据先进先出原则逐个排队执行。在开发调试阶段,或者出现异常错误的情况,用户也可以手工修改、插队执行、重新激活这些队列。
06 - 👮 数据保管者
我们为每个用户,每一个集线器都装配了一个专属的 MongoDB 数据库与专属的数据集 (Collection),以确保用户与用户、集线器与集线器之间的数据是完全隔离互不干扰的 🙅♀️。集线器在执行过程中数据会被临时的存储在这里,在数据成功完成交互之后你可以去删除它们这并不会对业务产生任何影响。
如果用户希望数据是私有保管存储的也可以自行在云市场平台上购买一个专属的 MongoDB Service。
07 - 🔄 数据映射关系
在多套系统对接时,如果系统与系统之间的基础资料编码并不一致,此时可以使用数据映射关系进行映射。数据映射关系同样也是被专属的 数据保管者 进行保管。
私有化部署
我们的产品支持私有化部署,关于部署费用与商业许可请咨询商务:
环境准备
项目 | 要求 | 说明 |
---|---|---|
系统运行环境 | CentOS 7.5 x64 | 当前版本暂不支持 Windows Service 环境 |
Web 服务 | Nginx 1.18 | 同样支持 Apache |
应用程序 | PHP 7.3 | 7.3 或者以上版本 |
基础数据库 | Mysql 5.7 | 5.7 或者以上版本 |
核心数据库 | MongoDB 4.0 | 4.0 或者以上版本 |
服务器配置参数
轻易云集成平台 服务器配置参数视情况使用情况而定,以下建议可以作为参考使用:
序号 | 使用量 | 配置建议 |
---|---|---|
0 | 每日数据量 500-5000 |
2 核 4GB 3Mbps 数据盘 50GB |
1 | 每日数据量 5000-20000 |
4 核 8GB 6Mbps 数据盘 100GB |
2 | 每日数据量 20000-100000 |
4 核 16GB 10Mbps 数据盘 200GB |
3 | 每日数据量 100000-500000 |
8 核 32GB 15Mbps 数据盘 300GB |
4 | 每日数据量 500000 以上 |
16 核 32GB 20Mbps 数据盘 500GB |
配置建议是以单服务器为例说明,应用程序与数据库应用均可拆分独立部署
php 环境准备
需要开启的函数
需要安装的扩展
开始部署
# install 之前确保PHP环境已经准备就绪
composer install
# 生成环境变量配置文件
cp .env.example .env
# 配置环境数据库(配置之前请先新增一个空白数据库)
vim .env
php artisan migrate
php artisan key:generate
php artisan passport:install --uuids
php artisan db:seed
chmod -R 777 storage
启动 crontab
启动 crontab 用于负责监听定时任务
crontab -e
* * * * * cd /www/wwwroot/datahub-service && php artisan schedule:run >> /dev/null 2>&1
/www/wwwroot/datahub-service 为应用程序运行的根路径
supervisor 守护进程
安装 supervisor
yum install epel-release
yum install -y supervisor
systemctl enable supervisord # 开机自启动
systemctl start supervisord # 启动supervisord服务
systemctl status supervisord # 查看supervisord服务状态
ps -ef|grep supervisord # 查看是否存在supervisord进程
sudo supervisorctl reread # 重载配置
systemctl restart supervisord # 重新启动
为租户配置守护进程
Supervisor 配置#
Supervisor 配置文件通常存储在 files = /etc/supervisord.d/*.ini 目录。在此目录中,你可以创建任意数量的配置文件,这些配置文件将指示 supervisor 如何监视你的进程。例如,让我们创建一个 laravel-worker.ini 文件,启动并监视 queue:work 进程
在配置之前,需要为它创建一个日志文件,我们通常建立在 /home/www 目录
[program:LESSEE_NAME]
process_name=%(program_name)s_%(process_num)02d
command=php /datahub/wwwroot/service/artisan queue:work --queue=c336c7dd-gt66-3d4c-ere6-5550a11e3c4f --sleep=15 --tries=0
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
stdout_logfile=/home/www/queue-datahub.log
stopwaitsecs=3600
关于队列调度的更多参考,可以查看 Laravel8 队列
MongoDB 参数设置
需要设置缓存大小
# 监听mongodb 的内存占用情况
top -p $(pidof mongod)
# Where and how to store data.
storage:
dbPath: /www/server/mongodb/data
directoryPerDB: true
wiredTiger:
engineConfig:
cacheSizeGB: 4
命令行调试
# 开始调度一个源请求队列分配
php artisan dispatch:datahub f134680b-7ef3-3bae-92a8-64ffeb19bd53 --source
# 开始调度一个目标写入队列分配
php artisan dispatch:datahub 94ddfb9f-bc26-3fe0-a4a8-2704bcb2274d --target