dancercl
V2EX  ›  MySQL

如果要实现zero-downtime deployment,那DB的升级一般怎么做呢?

By dancercl at 2013 年 7 月 11 日 · 4603 次点击
最近想尝试用golang建个API server,无意发现
goagain(https://github.com/rcrowley/goagain)可以实现zero-downtime deployment,有点想用起来,但由于旧的代码和新的代码可能同时访问DB,所以DB的升级问题不好解决(目前用的postgresql)。

我感觉不停机升级在python和ruby界好像有不少案例了(或者是错觉?),但google出来的DB解决方案都比较复杂并容易出错。

此外我尝试了一下mongodb,由于是schema-less所以这个问题可以完美的绕开,但感觉只为了这个目的而换DB太小题大作了。

各位有什么好的想法吗?
2 条回复  •  1970-01-01 08:00:00 +08:00
julyclyde
   1
julyclyde  
   2013 年 7 月 13 日
pt-online-schema-change
或者是应用层解决
Livid
   2
Livid  
MOD
PRO
   2013 年 7 月 13 日
不要一口气运行很多 alter table,这样很容易出事,而且出事之后的状况会很复杂。

一次一条,逐步上线小修改,会比较安全。
› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
© 2026 V2EX · 25ms · 3.9.8.5