ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

QUANTAXIS 2.1.0 分布式部署实战指南:从 Docker Compose 到 Kubernetes 与 Helm 的全栈落地

QUANTAXIS 2.1.0 分布式部署实战指南:从 Docker Compose 到 Kubernetes 与 Helm 的全栈落地 QUANTAXIS 2.1.0 分布式部署实战指南从 Docker Compose 到 Kubernetes 与 Helm 的全栈落地【免费下载链接】QUANTAXISQUANTAXIS 支持任务调度 分布式部署的 股票/期货/期权 数据/回测/模拟/交易/可视化/多账户 纯本地量化解决方案项目地址: https://gitcode.com/gh_mirrors/qu/QUANTAXISQUANTAXIS 是一个支持任务调度与分布式部署的股票/期货/期权量化解决方案覆盖数据、回测、模拟、实盘交易、可视化与多账户管理。本指南以仓库内的 部署总览文档 为核心骨架结合 docker/qa-service-v2.1/docker-compose.yaml 与 docker/k8s-deployment 等真实编排资源系统讲解 QUANTAXIS 2.1.0 的三级部署路径单机 Docker Compose、生产级 Kubernetes、以及 Helm 包管理并覆盖多环境配置、监控日志、备份恢复与故障排查。读完本文你将能够根据自身资源规模从零搭建一套可运行、可监控、可备份、可扩容的 QUANTAXIS 量化基础设施。一、部署总览与系统架构1.1 系统架构QUANTAXIS 2.1.0 采用前端交互 核心服务 基础设施的分层架构对外暴露 Jupyter、Web UI、监控与行情采集四个交互入口全部汇聚到 QUANTAXIS Core Service资源管理器 API再由核心服务统一对接 MongoDB、RabbitMQ、Redis、ClickHouse 与日志存储┌─────────────────────────────────────────────────────────────┐ │ QUANTAXIS 2.1.0 │ ├─────────────────────────────────────────────────────────────┤ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ Jupyter │ │ Web │ │ Monitor │ │ Collector│ │ │ │ :8888 │ │ :8080 │ │ :61208 │ │ :8011 │ │ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │ │ │ │ │ │ │ └─────────────┴──────────────┴─────────────┘ │ │ │ │ │ ┌──────────────────┴──────────────────┐ │ │ │ QUANTAXIS Core Service │ │ │ │ (资源管理器 API) │ │ │ └──────────────────┬──────────────────┘ │ │ │ │ │ ┌────────────┬─────────┴────────┬──────────┬─────────┐ │ │ │ │ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ │ │ MongoDB RabbitMQ Redis ClickHouse Logs │ │ :27017 :5672 :6379 :8123 │ └─────────────────────────────────────────────────────────────┘1.2 组件说明组件版本端口说明MongoDB7.027017主数据存储RabbitMQ3.135672, 15672消息队列Redis7.06379缓存服务ClickHouselatest8123, 9000分析数据库可选QUANTAXIS Core2.1.08010核心服务Jupyter-8888交互式开发Web UI-8080Web 界面Monitor-61208系统监控与架构图一一对应的真实编排文件位于 docker/qa-service-v2.1/docker-compose.yaml其中定义了mongodb、rabbitmq、redis、clickhouse可选、quantaxis核心、quantaxis-web、monitor、market-collector可选共 8 个服务下文将逐一展开。二、Docker Compose 部署单机/小规模首选2.1 前置要求Docker 20.10Docker Compose 2.0可用内存 8GB可用磁盘 50GB2.2 快速开始① 基础部署核心服务# 克隆仓库 git clone https://github.com/QUANTAXIS/QUANTAXIS.git cd QUANTAXIS/docker/qa-service-v2.1 # 创建并编辑环境变量配置生产环境必须修改密码 # 注意仓库快照中的 qa-service-v2.1 目录仅包含 # docker-compose.yaml / init-mongo.js / rabbitmq.conf / clickhouse-config.xml # 并未附带 .env.example需手动创建 .env 文件见 2.3 节 cp .env.example .env # 启动服务 docker-compose up -d # 查看日志 docker-compose logs -f② 完整部署包含所有可选服务# 启动所有服务包括 ClickHouse 和行情采集 docker-compose --profile full up -d③ 指定 profile 部署# 仅启动分析服务包括 ClickHouse docker-compose --profile analytics up -d # 仅启动行情采集 docker-compose --profile market up -dProfile 机制在 docker/qa-service-v2.1/docker-compose.yaml 中由profiles字段驱动clickhouse服务声明profiles: [full, analytics]见 第 196 行market-collector服务声明profiles: [full, market]见 第 455 行。不指定 profile 时仅启动 MongoDB、RabbitMQ、Redis、QUANTAXIS Core、Web 与 Monitor 六个核心服务与文档基础部署的描述一致。2.3 环境变量.env说明Compose 文件通过${VAR:-default}语法提供全部默认值未设置 .env 时可直接使用默认配置运行仅限开发环境环境变量默认值生效服务说明MONGO_ROOT_USERrootmongodbMongoDB root 用户MONGO_ROOT_PASSWORDrootmongodbMongoDB root 密码生产必须修改MONGO_USERquantaxismongodb / quantaxisQUANTAXIS 业务用户MONGO_PASSWORDquantaxismongodb / quantaxis业务用户密码生产必须修改RABBITMQ_USERadminrabbitmq / quantaxis消息队列用户名RABBITMQ_PASSWORDadminrabbitmq / quantaxis消息队列密码生产必须修改REDIS_PASSWORDquantaxisredis / quantaxisRedis 密码生产必须修改CLICKHOUSE_USERdefaultclickhouse / quantaxisClickHouse 用户CLICKHOUSE_PASSWORDquantaxisclickhouse / quantaxisClickHouse 密码MongoDB 容器启动时会通过/docker-entrypoint-initdb.d/init-mongo.js自动完成初始化创建quantaxis用户、建立stock_day/stock_min/future_day/future_min/stock_list/future_list/account/order/position/trade/resource_config/system_log等核心集合与唯一索引脚本内容见 docker/qa-service-v2.1/init-mongo.js。2.4 服务访问服务访问地址默认账号Jupyterhttp://localhost:8888-Web UIhttp://localhost:8080-RabbitMQ 管理http://localhost:15672admin/admin系统监控http://localhost:61208-QUANTAXIS APIhttp://localhost:8010-2.5 常用命令# 查看服务状态 docker-compose ps # 查看资源使用 docker-compose stats # 查看日志可指定服务名如 quantaxis / mongodb / rabbitmq docker-compose logs -f [service_name] # 重启服务 docker-compose restart [service_name] # 停止服务 docker-compose stop # 完全清理包括数据卷危险 docker-compose down -v2.6 数据持久化所有数据保存在 Docker volumes 中# 查看所有 volumes docker volume ls | grep quantaxis # 数据卷列表 # - quantaxis_mongodb_data (MongoDB 数据) # - quantaxis_mongodb_config (MongoDB 配置库) # - quantaxis_rabbitmq_data (RabbitMQ 数据) # - quantaxis_redis_data (Redis 数据) # - quantaxis_clickhouse_data (ClickHouse 数据) # - quantaxis_code (用户代码) # - quantaxis_logs (日志)卷的定义集中在 docker/qa-service-v2.1/docker-compose.yaml 的volumes段见 第 507-539 行每个卷都通过name:显式指定了全局名称。核心服务将quantaxis_code挂载到/home/quantaxis、quantaxis_logs挂载到/var/log/quantaxis确保容器重建后策略代码与日志不丢失。2.7 数据备份# 备份 MongoDB直接打包数据卷 docker run --rm \ -v quantaxis_mongodb_data:/data \ -v $(pwd)/backup:/backup \ alpine \ tar czf /backup/mongodb_$(date %Y%m%d).tar.gz /data # 备份所有数据 ./scripts/backup-all.sh说明./scripts/backup-all.sh为部署指南中约定的备份脚本当前仓库快照中尚未提供该脚本文件可自行按上面的卷打包方式封装为脚本。2.8 更新升级# 拉取最新镜像 docker-compose pull # 重新创建容器 docker-compose up -d --force-recreate2.9 编排文件源码级解读qa-service-v2.1 的 compose 文件 相比传统编排引入了多项生产级特性理解它们有助于排查问题健康检查链quantaxis核心服务通过depends_oncondition: service_healthy严格等待 MongoDB、RabbitMQ、Redis 通过健康检查后才启动见 第 255-261 行。核心服务自身的健康检查为python -c import QUANTAXIS第 318-323 行start_period: 120s容忍首次启动的依赖安装耗时。资源限制每个服务都在deploy.resources中同时给出limits与reservations例如 MongoDB 限制 2 核 2G、核心服务限制 4 核 4G避免多个容器互相争抢内存导致 OOM。日志轮转统一采用json-file驱动并设置max-size与max-file如核心服务每个日志文件最大 100m、保留 5 份第 335-341 行。网络隔离所有服务接入自定义 bridge 网络quantaxis_network子网 172.20.0.0/24服务间通过 hostnamemongodb、rabbitmq、redis等互访。RabbitMQ 调优rabbitmq.conf 启用了管理插件15672与 Prometheus 指标端口15692设置内存高水位 0.7、磁盘告警阈值 1GB、心跳 60s、channel_max 2048等参数。ClickHouse 调优clickhouse-config.xml 启用 LZ4 压缩、查询日志、时区 Asia/Shanghai并声明quantaxis数据库使用 Atomic 引擎。2.10 旧版 qa-service 与一键脚本历史兼容路径对于 2.1.0 之前的社区版本仓库还保留了 docker/qa-service/docker-compose.yaml含qamg、qacode两个数据卷以及一键脚本 docker/qaservice_docker.sh。Linux 用户首次使用可执行sudo bash qaservice_docker.sh该脚本会自动创建qamg数据库数据与qacode用户代码两个 volume 并拉起服务之后进入 compose 文件所在目录执行docker-compose up -d即可。Windows/macOS 用户则需先手动创建卷docker volume create --nameqamg docker volume create --nameqacode旧版环境的重要端口为27017MongoDB、8888Jupyter、8010QUANTAXIS WebServer、81社区版界面、61208系统监控、15672事件消息队列管理。旧版数据库备份/还原使用qamg卷备份文件dbbackup.tar落在宿主机当前目录# 停止服务 docker-compose stop # 备份到当前目录 docker run --rm -v qamg:/data/db \ -v $(pwd):/backup alpine \ tar zcvf /backup/dbbackup.tar /data/db # 还原宿主机当前目录须存在 dbbackup.tar docker run --rm -v qamg:/data/db \ -v $(pwd):/backup alpine \ sh -c cd /data/db rm -rf diagnostic.data journal configdb cd / tar xvf /backup/dbbackup.tar # 重新启动 docker-compose up -d三、Kubernetes 部署生产集群3.1 前置要求Kubernetes 1.24kubectl 配置正确至少 3 个工作节点可用内存 16GB每节点StorageClass 可用3.2 快速开始cd QUANTAXIS/docker/k8s-deployment # 1. 创建命名空间含资源配额与 LimitRange kubectl apply -f 00-namespace.yaml # 2. 创建 ConfigMap含 MongoDB 初始化脚本、RabbitMQ 配置 kubectl apply -f 01-configmap.yaml # 修改密码生产环境必须 kubectl create secret generic mongodb-secret \ --from-literalMONGO_ROOT_USERroot \ --from-literalMONGO_ROOT_PASSWORDyour-strong-password \ --from-literalMONGO_USERquantaxis \ --from-literalMONGO_PASSWORDquantaxis-password \ --namespacequantaxis --dry-runclient -o yaml | kubectl apply -f - # 3. 创建存储StorageClass、PV、PVC kubectl apply -f 03-storage.yaml # 4. 部署数据库服务 kubectl apply -f 10-mongodb.yaml # 5. 等待数据库就绪 kubectl wait --forconditionready pod -l appmongodb -n quantaxis --timeout300s # 6. 部署 QUANTAXIS 核心服务 kubectl apply -f 50-quantaxis.yaml # 7. 验证部署 kubectl get pods -n quantaxis kubectl get svc -n quantaxis仓库快照说明docker/k8s-deployment当前包含00-namespace.yaml、01-configmap.yaml、02-secrets.yaml、03-storage.yaml、10-mongodb.yaml、50-quantaxis.yaml六个清单文件。部署指南中提到的11-rabbitmq.yaml、12-redis.yaml与60-ingress.yaml尚未包含在当前快照中可参照 01-configmap.yaml 中已提供的rabbitmq-config与quantaxis-config配置以及 50-quantaxis.yaml 的 Deployment 写法补充对应清单。3.3 查看部署状态# 查看所有资源 kubectl get all -n quantaxis # 查看 Pod 详情 kubectl describe pod -n quantaxis # 查看日志 kubectl logs -f deployment/quantaxis -n quantaxis # 进入容器 kubectl exec -it deployment/quantaxis -n quantaxis -- bash3.4 访问服务# 方式1: 端口转发 kubectl port-forward -n quantaxis service/quantaxis-service 8888:8888 8010:8010 # 方式2: 获取 LoadBalancer 外部 IP kubectl get svc quantaxis-service -n quantaxis # 方式3: Ingress需要先配置 Ingress Controller kubectl apply -f 60-ingress.yaml3.5 扩缩容# 手动扩容 kubectl scale deployment quantaxis --replicas5 -n quantaxis # 查看 HPA 状态 kubectl get hpa -n quantaxisHPA 自动扩缩容配置内置在 50-quantaxis.yaml 中见 第 195-241 行副本数范围 2-10CPU 目标利用率 70%、内存目标利用率 80%并配置了缩容稳定窗口 300s、扩容策略 100%/15s 的精细化behavior。3.6 滚动更新与回滚# 更新镜像 kubectl set image deployment/quantaxis \ quantaxisquantaxis/quantaxis:2.1.0-alpha3 \ -n quantaxis # 查看更新状态 kubectl rollout status deployment/quantaxis -n quantaxis # 回滚 kubectl rollout undo deployment/quantaxis -n quantaxis3.7 资源监控# 查看资源使用 kubectl top nodes kubectl top pods -n quantaxis # 查看事件 kubectl get events -n quantaxis --sort-by.lastTimestamp3.8 清单文件源码级解读00-namespace.yaml除命名空间外还定义了ResourceQuotarequests 16 核/32Gi、limits 32 核/64Gi、最多 10 个 PVC与LimitRange单容器 CPU 100m-8 核、内存 128Mi-16Gi从集群层面防止资源失控。01-configmap.yaml集中管理非敏感配置包括MONGODB_HOSTmongodb-service、RABBITMQ_HOSTrabbitmq-service、REDIS_HOSTredis-service、CLICKHOUSE_HOSTclickhouse-service、时区Asia/Shanghai、资源管理器开关QA_RESOURCE_POOL_ENABLEDtrue等同时内嵌 MongoDB 初始化脚本stock_day、future_day、account等集合与唯一索引和 RabbitMQ 配置含rabbitmq_management、rabbitmq_prometheus插件。02-secrets.yaml敏感信息的声明位置生产环境务必通过kubectl create secret generic覆盖其中默认密码。03-storage.yaml定义quantaxis-ssdStorageClassWaitForFirstConsumerRetain回收策略并为 MongoDB50Gi、RabbitMQ10Gi、Redis10Gi、ClickHouse100Gi、QUANTAXIS 代码20GiReadWriteMany、日志10GiReadWriteMany分别声明 PV/PVC。50-quantaxis.yaml核心清单一次定义四个对象——LoadBalancer类型 Service暴露 8888/8010、Deployment副本 2含wait-for-mongodb/wait-for-rabbitmqinitContainer、liveness/readiness 探针、Pod 反亲和性、HPA 与 PodDisruptionBudgetminAvailable: 1并带有prometheus.io/scrape: true注解供 Prometheus 自动发现。四、Helm Charts 部署4.1 安装 Helm# 下载 Helm curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash # 验证安装 helm version4.2 使用 Helm 部署指南工作流cd QUANTAXIS/docker/helm-charts # 1. 添加仓库如有 # helm repo add quantaxis https://quantaxis.github.io/charts # helm repo update # 2. 查看默认配置 helm show values ./quantaxis # 3. 自定义配置 cat custom-values.yaml EOF # MongoDB 配置 mongodb: auth: rootPassword: your-root-password password: your-quantaxis-password persistence: size: 100Gi # QUANTAXIS 配置 quantaxis: replicas: 3 resources: limits: cpu: 4 memory: 8Gi requests: cpu: 1 memory: 2Gi EOF # 4. 安装 helm install quantaxis ./quantaxis \ --namespace quantaxis \ --create-namespace \ --values custom-values.yaml # 5. 查看状态 helm status quantaxis -n quantaxis helm list -n quantaxis # 6. 升级 helm upgrade quantaxis ./quantaxis \ --namespace quantaxis \ --values custom-values.yaml # 7. 卸载 helm uninstall quantaxis -n quantaxis4.3 Helm 配置说明values.yaml 主要配置项# 全局配置 global: storageClass: quantaxis-ssd imagePullPolicy: IfNotPresent # MongoDB mongodb: enabled: true auth: rootPassword: password: persistence: size: 50Gi # RabbitMQ rabbitmq: enabled: true auth: username: admin password: persistence: size: 10Gi # Redis redis: enabled: true auth: password: persistence: size: 10Gi # ClickHouse (可选) clickhouse: enabled: false persistence: size: 100Gi # QUANTAXIS quantaxis: replicas: 2 image: repository: quantaxis/quantaxis tag: 2.1.0-alpha2 resources: limits: cpu: 4 memory: 8Gi requests: cpu: 1 memory: 2Gi # Ingress ingress: enabled: false className: nginx hosts: - host: quantaxis.example.com paths: - path: / pathType: Prefix4.4 仓库内现有 Chart 现状当前仓库快照中实际存在的 Chart 位于 docker/k8s_deploy_qaservice/helm_charts由 Kompose 1.18.0 从旧版 docker-compose 自动生成Chart.yaml 的name为docker-compose、version为0.0.1。其 templates 目录按服务拆分例如qa-deployment.yaml社区版qacommunity主容器暴露 8888Jupyter与 80Web挂载qacodePVC 到/homemgdb-deployment.yamlqamongo_single单机 MongoDB挂载qamgPVC 到/data/db配套的qaeventmq-*、qamarketcollector-*、qamonitor-*、qaweb-run-*模板对应事件消息、行情采集、监控与 Web 服务。部署该 Chart 的方式与 4.2 节一致helm install quantaxis docker/k8s_deploy_qaservice/helm_charts --namespace quantaxis --create-namespace。需要注意该 Chart 使用extensions/v1beta1旧版 API在 K8s 1.22 集群上需先迁移到apps/v1才能安装。五、多环境配置5.1 环境划分环境用途副本数资源配置Development开发测试1最小Staging预生产2中等Production生产3完整5.2 Docker Compose 多环境采用基础 compose 环境覆盖 compose的模式公共配置放在docker-compose.yaml环境差异放在独立覆盖文件# docker-compose.dev.yaml version: 3.8 services: quantaxis: image: quantaxis/quantaxis:2.1.0-alpha2-dev environment: - DEPLOY_ENVdevelopment - DEBUGtrue resources: limits: cpus: 2 memory: 2G# 启动开发环境 docker-compose \ -f docker-compose.yaml \ -f docker-compose.dev.yaml \ up -d# docker-compose.prod.yaml version: 3.8 services: quantaxis: image: quantaxis/quantaxis:2.1.0-alpha2 environment: - DEPLOY_ENVproduction - DEBUGfalse deploy: replicas: 3 resources: limits: cpus: 4 memory: 8G# 启动生产环境 docker-compose \ -f docker-compose.yaml \ -f docker-compose.prod.yaml \ up -d5.3 Kubernetes 多环境Kustomize使用 Kustomize 以 base/overlays 结构管理多环境差异k8s-deployment/ ├── base/ # 基础配置 │ ├── kustomization.yaml │ ├── deployment.yaml │ └── service.yaml ├── overlays/ │ ├── dev/ # 开发环境 │ │ ├── kustomization.yaml │ │ └── patches/ │ ├── staging/ # 预生产环境 │ │ ├── kustomization.yaml │ │ └── patches/ │ └── prod/ # 生产环境 │ ├── kustomization.yaml │ └── patches/# 部署到不同环境 kubectl apply -k overlays/dev kubectl apply -k overlays/staging kubectl apply -k overlays/prod六、监控与日志6.1 Prometheus 监控# 安装 Prometheus Operator helm repo add prometheus-community \ https://prometheus-community.github.io/helm-charts helm install prometheus \ prometheus-community/kube-prometheus-stack \ --namespace monitoring \ --create-namespaceQUANTAXIS 已内置 Prometheus 注解见 50-quantaxis.yamlprometheus.io/scrape: true、指标端口 8010、路径/metrics部署后会自动被 Prometheus 发现并抓取此外 RabbitMQ 亦通过 15692 端口暴露 Prometheus 指标见 rabbitmq.conf。6.2 Grafana 仪表板# 访问 Grafana kubectl port-forward -n monitoring \ svc/prometheus-grafana 3000:80 # 登录: admin / prom-operator # 导入 QUANTAXIS 仪表板部署指南中仪表板 ID标记为 TODO当前仓库未提供成品 dashboard JSON需根据业务自行构建面板并绑定上述指标源。6.3 ELK 日志# 安装 Elastic Stack helm repo add elastic https://helm.elastic.co helm install elasticsearch elastic/elasticsearch -n logging --create-namespace helm install kibana elastic/kibana -n logging helm install filebeat elastic/filebeat -n loggingQUANTAXIS 日志统一写入/var/log/quantaxisDocker 卷quantaxis_logsK8s PVCquantaxis-logs-pvc可配置 Filebeat 采集该路径。6.4 Loki 日志# 安装 Loki Stack helm repo add grafana https://grafana.github.io/helm-charts helm install loki grafana/loki-stack -n logging --create-namespace # 在 Grafana 中添加 Loki 数据源七、备份与恢复7.1 MongoDB 备份Docker 环境# 备份 docker exec quantaxis-mongodb mongodump \ --out/backup/$(date %Y%m%d) # 复制备份文件到主机 docker cp quantaxis-mongodb:/backup ./mongodb-backup # 恢复 docker exec quantaxis-mongodb mongorestore \ /backup/20251025Kubernetes 环境# 创建备份 Job kubectl apply -f backup-job.yaml # 手动触发备份 kubectl create job --fromcronjob/mongodb-backup \ mongodb-backup-manual -n quantaxis说明backup-job.yaml与mongodb-backupCronJob 为部署指南约定的备份任务当前仓库快照尚未包含该清单可按 7.1 节 Docker 环境中的 mongodump/mongorestore 命令封装为 CronJob。7.2 持久化卷备份Velero# 使用 Velero 备份整个命名空间 velero backup create quantaxis-backup \ --include-namespaces quantaxis # 恢复 velero restore create --from-backup quantaxis-backup八、故障排查8.1 常见问题① MongoDB 连接失败# 检查 MongoDB 状态 kubectl get pods -l appmongodb -n quantaxis kubectl logs -l appmongodb -n quantaxis # 测试连接 kubectl run -it --rm mongo-test \ --imagemongo:7.0 \ --restartNever \ --namespacequantaxis \ -- mongosh mongodb://mongodb-service:27017常见的两个原因一是MONGO_ROOT_PASSWORD/MONGO_PASSWORD与 init-mongo.js 中创建的用户不一致二是核心服务的depends_on: condition: service_healthy要求 MongoDB 通过db.adminCommand(ping)健康检查见 docker-compose.yaml 第 46-51 行首次启动时start_period: 40s内未就绪会触发重启。② 内存不足# 查看资源使用 kubectl top pods -n quantaxis # 增加资源限制 kubectl edit deployment quantaxis -n quantaxis # 修改 resources.limits.memory同时应留意 00-namespace.yaml 中的ResourceQuotalimits 上限 32 核/64Gi与LimitRange单容器上限 8 核/16Gi是否会拦住扩容请求。③ Pod 无法启动# 查看 Pod 事件 kubectl describe pod pod-name -n quantaxis # 查看日志 kubectl logs pod-name -n quantaxis --previous8.2 调试工具# 进入调试容器 kubectl debug -it pod-name -n quantaxis --imagebusybox # 网络调试 kubectl run -it --rm debug \ --imagenicolaka/netshoot \ --restartNever \ --namespacequantaxis九、最佳实践安全✅修改所有默认密码.env / Secret 中的 root/admin/quantaxis 默认值✅使用 Secret 管理敏感信息✅启用 RBAC 权限控制✅配置 Network Policy限制服务间与外部访问✅定期更新镜像和依赖性能✅合理配置资源请求和限制Docker 用deploy.resourcesK8s 用resources.requests/limits✅使用 SSD 存储✅启用持久化卷✅配置亲和性和反亲和性50-quantaxis.yaml 已内置 Pod 反亲和性避免同节点堆叠✅使用 HPA 自动扩缩容可靠性✅配置健康检查和就绪探针Compose 的healthcheck与 K8s 的livenessProbe/readinessProbe均已内置✅设置 Pod Disruption BudgetminAvailable: 1保障维护窗口不中断✅多副本部署✅定期备份数据✅配置监控和告警运维✅使用基础设施即代码IaC✅Git 管理配置文件✅自动化 CI/CD 流程✅文档化运维流程✅定期演练灾难恢复附录A. 端口清单服务端口协议说明MongoDB27017TCP数据库连接RabbitMQ5672TCPAMQP 协议RabbitMQ 管理15672HTTP管理界面RabbitMQ Prometheus15692HTTP指标Redis6379TCP缓存连接ClickHouse HTTP8123HTTPHTTP 接口ClickHouse Native9000TCPNative 接口QUANTAXIS API8010HTTPAPI 服务Jupyter8888HTTP开发环境Web UI8080HTTPWeb 界面Monitor61208HTTP监控界面Market Collector8011HTTP行情采集B. 资源推荐配置部署规模CPU内存存储节点数小型8 核16GB100GB1中型16 核32GB500GB3大型32 核64GB1TB5C. 进阶阅读仓库内部署总览原文doc/deployment/overview.mdDocker 入门指引doc/deployment/docker.mdDocker Compose 编排docker/qa-service-v2.1/docker-compose.yamlKubernetes 清单docker/k8s-deploymentHelm Chartdocker/k8s_deploy_qaservice/helm_charts生产化部署章节doc/deployment/production.mdDocker 化部署章节doc/deployment/docker.md适用版本2.1.0-alpha22025-10-25选择建议单机试用选 Docker Compose 基础 profile需要 ClickHouse 分析或实时行情采集时按 profile 增量拉起生产环境直接采用 Kubernetes 清单 HPA PDB 组合并通过 Kustomize 管理多环境差异已有 Helm 经验或需要声明式交付时优先迁移至 Helm Chart 工作流。【免费下载链接】QUANTAXISQUANTAXIS 支持任务调度 分布式部署的 股票/期货/期权 数据/回测/模拟/交易/可视化/多账户 纯本地量化解决方案项目地址: https://gitcode.com/gh_mirrors/qu/QUANTAXIS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表