SuperAPI AI 工具集

clickhouse-deploy-integration

部署与运维

查看项目

更新于 10-15 22:42

技能介绍

用途:将连接 ClickHouse Cloud(或带公网端点的自托管实例)的应用部署到 Vercel、Fly.io、Cloud Run,统一处理连接管理与密钥。

主要能力:提供平台无关的 ClickHouse 连接模块,用单例客户端让无服务器冷启动复用连接,避免每次调用新建连接池;建议无服务器场景把 max_open_connections 设低并开启请求/响应压缩以减少出口流量。三个平台共用同一 getClickHouse() 模块,仅密钥机制与运行时模型不同。

使用方式:先写 src/db.ts 单例客户端,读取 CLICKHOUSE_HOST、CLICKHOUSE_USER、CLICKHOUSE_PASSWORD、CLICKHOUSE_DATABASE 等环境变量;再选平台部署——Vercel 用 vercel env add 逐个添加密钥,适合 API 端点,max_open_connections 保持 1-3;Fly.io 用 fly secrets set 加 fly.toml 健康检查,适合长驻容器;Cloud Run 通过 Secret Manager 与 --set-secrets 注入密钥,适合事件驱动负载,可设 --min-instances=1 避免冷启动连接抖动。最后加 /health 端点探测 ClickHouse,并在 SIGTERM/SIGINT 时关闭客户端以刷出待写入数据。

适用场景:分析类 API、长驻容器服务、事件驱动服务等需要从无服务器或容器平台访问 ClickHouse 的部署。

限制与错误处理:资料列出 ECONNRESET(函数超时,需缩小查询范围或增大超时)、TLS 握手失败(Cloud 需用 8443 端口)、密钥未找到(检查平台密钥配置)、冷启动延迟(Cloud Run 用 min-instances=1)等。具体各平台完整命令、fly.toml、Cloud Run 部署脚本与对比表未在资料中给出,需参考其平台部署走查文档。