F21*_*F21 6 database-migration docker kubernetes microservices
我想在 Docker 容器中部署我的微服务。我希望这些微服务尽可能无状态,仅将状态持久保存到数据库中。
这意味着有以下要求:
这导致我在处理模式创建和迁移时遇到问题:
如果我有一个使用 MySQL 或 Postgres 作为数据存储的服务,如何在首次启动时创建表/模式?我应该只使用CREATE IF NOT EXIST语句并让实例在启动期间“战斗”吗?我无法设置环境变量来要求仅为其中 1 个实例创建表/架构。
如何处理具有上述约束的架构迁移?有许多操作(例如删除/添加列)无法封装在事务中。
您需要使用能够支持数据库迁移的工具。我在 Java 领域推荐的两个是:
这些绝不是此类别的唯一工具。他们所做的就是记录已应用于数据库实例的架构更改,确保架构与版本控制系统中捕获的所需状态相匹配。
| 归档时间: |
|
| 查看次数: |
1691 次 |
| 最近记录: |