用途:Heroku 是免运维的全托管云 PaaS,用于快速部署、运行和扩展应用,适合快速上线 MVP、全栈 Web 应用,配合 git push heroku main 完成部署,无需自行管理服务器。
主要能力:支持通过 Procfile 声明 web、后台 worker、定时 clock 等进程,例如 web、worker、release 阶段与迁移;支持 Heroku Postgres、Redis、Apache Kafka 等托管数据附加组件;通过 Heroku CLI 管理配置、扩缩容和一次性任务;支持为每个 GitHub PR 自动创建临时预览环境的 Review Apps,用 app.json 配置环境变量、附加组件和 postdeploy 脚本。
使用方式:常用命令包括 heroku create、git push heroku main、heroku addons:create heroku-postgresql:standard-0、heroku config:set NODE_ENV=production DATABASE_POOL_SIZE=20 -a my-prod-app、heroku ps:scale web=2:standard-2x worker=1:standard-1x -a my-prod-app、heroku run bash -a my-prod-app、heroku logs --tail -a my-prod-app。在 Procfile 中可声明 release、web、worker、clock 等进程并分离后台异步任务。
适用场景:快速部署与 MVP、托管数据附加组件、Procfile 驱动的工作负载、企业级 Review Apps。
限制与注意事项:Web 进程必须绑定 Heroku 提供的 $PORT,不能硬编码端口;dyno 文件系统是临时的,用户上传文件应存到 AWS S3 或 Cloudflare R2;长时间 CPU 任务应交给后台 worker,避免 H12 请求超时;迁移应放在 release 阶段路由流量前执行;需注意 R10 启动超时、R14 内存配额等错误,并避免在生产使用开发级附加组件。具体价格、套餐与平台限制资料中未提供。