SuperAPI AI 工具集

cometchat-self-host

部署与运维

查看项目

更新于 10-21 20:29

技能介绍

用途

本技能用于在客户自有基础设施内运行 CometChat 聊天后端(即 on-premise 自托管部署)。适用场景包括:需要数据主权、离线或气隙网络、受监管行业、SaaS 区域无法满足的数据驻留条款,或希望以固定基础设施成本替代按 MAU 计费的 SaaS 定价。自托管是 CometChat 的企业级产品,应将其定位为差异化能力,但在未核实竞争对手当前文档前,不要断言其具体提供或不提供什么。

为什么自托管(对比 SaaS 区域)

  • 数据主权:所有数据(消息、媒体、备份)都留在你控制的基础设施上,有助于满足 GDPR/HIPAA/SOC 2 与数据驻留义务(合规需由客户自行认证;自托管消除了 SaaS 的数据位置约束)。SaaS 中的区域选择对应 cometchat-compliance;自托管是更强的一步。
  • 气隙/私有网络:可在无公网依赖的情况下部署(/docker/air-gapped-deployment)。
  • 可预测的经济性:固定基础设施成本,无按用户计费的 SaaS 定价。
  • 运维控制:使用你自己的监控、安全边界,并可直接访问各组件。

部署模型(按规模选择)

  • Docker Swarm:目标约 1 万–20 万 MAU、约 2 万峰值并发;适用于大多数 on-prem 部署,运维开销较低(/docker/overview)。
  • Kubernetes:目标 20 万+ MAU、多区域 active-active、自动扩缩容;适用于大规模或多区域(/kubernetes/overview)。
  • 气隙:适用于离线/隔离网络;导出镜像、传输、从本地镜像仓库运行(/docker/air-gapped-deployment)。

平台为微服务架构(WebSocket 网关 · Chat API · 审核 · 通知 · Webhooks),运行在 Kafka 事件总线之上,配合 TiDB(分布式 SQL)+ MongoDB + Redis,以及可选的 S3 兼容对象存储。这些无需手工接线——部署脚本会完成——但需按它们来规划主机容量(/docker/prerequisites)。

前置条件与容量规划(部署前)

根据 MAU 与峰值并发连接数(PCC)进行规划:主机规格、操作系统、有状态服务(数据库、Kafka、对象存储)的存储卷,以及负载均衡器的 TLS 证书。完整清单见 {DOCS_BASE}/on-premise-deployment/docker/prerequisites;请遵循该清单,不要凭猜测规划容量。

部署(操作手册以文档为准,而非本文件)

部署使用 CometChat 的自动化脚本,以实现一致、零停机的滚动发布——{DOCS_BASE}/on-premise-deployment/docker/production-deployment。域名/环境变量按 /docker/configuration-reference(以及域名更新指南)设置。不要手工拼装 compose/stack;应使用文档化的脚本。

让应用指向自托管实例

客户端通过负载均衡器/NGINX(TLS 终止)经 HTTPS + WebSocket 访问 on-prem。在应用中,CometChat 初始化设置必须指向你的域名,而非 SaaS 区域端点——确切的主机/区域覆盖字段位于 on-prem 客户端集成与 configuration-reference 文档中;请从那里获取并设置,其余部分(App ID、登录流程)保持不变。各家族的初始化代码位于 cometchat-<family>-core;on-prem 仅改变主机目标。请在网络面板中确认应用连接的是你的域名(而非 *.cometchat.io)。

安全与运维

  • 认证:on-prem 使用基于 JWT 的认证与 RSA 密钥对——只有授权用户能访问平台({DOCS_BASE}/on-premise-deployment/docker/security)。可与 cometchat-security 中的应用级访问模型结合使用。
  • 网络:将数据存储保留在私有 overlay 上;仅暴露负载均衡器;端到端强制 TLS。
  • 备份与灾难恢复:自动备份,支持时间点恢复,保留策略与你的合规政策一致(/docker/persistence-and-backup)——这正是你自行承担 cometchat-compliance 所推迟的保留生命周期的地方。
  • 监控:该技术栈自带 Prometheus + Grafana + Loki;将告警接入你的值班流程。

常见陷阱

  • 把 on-prem 当作自助服务——它是授权产品;先从销售获取镜像、许可证与支持。
  • 容量规划不足——依据前置条件按 MAU/PCC 规划主机,而非猜测。
  • 手写技术栈——使用文档化的部署脚本;漂移会破坏升级。
  • 应用仍指向 *.cometchat.io——需将客户端主机覆盖设置为你的域名,否则你仍在 SaaS 而非 on-prem。
  • 猜测主机覆盖字段——请从 on-prem 客户端文档获取确切设置名。
  • 无 TLS / 暴露数据存储——在 LB 终止 TLS,并将 TiDB/Mongo/Redis/Kafka 保留在私有网络。

验证是否生效

技术栈通过文档化脚本部署且健康检查通过 · 应用经 HTTPS/WSS 连接到你的域名(在网络面板确认)、登录、收发消息 · JWT/RSA 认证已强制执行 · 数据存储私有且全程 TLS · 备份运行且已测试恢复 · Grafana 显示各服务健康。