我有一个正在开发的 webapp。我需要计划如果主机出现故障会发生什么。我将丢失一些最近的会话状态(我可以忍受),其他所有内容都应该永久存储在数据库中。
如果我在中断后再次启动,我是否可以期望一个好的主机在几分钟或几秒钟内重建数据库,或者我应该在后台进程中构建以在其他地方持续镜像数据库?
什么是正常/明智的?
显然,一个好的主机会有 RAID 和其他冗余,所以完全丢失的可能性应该很低,如果他们有定期备份,我应该只丢失最近的东西,但这大概是在设计时考虑到几乎静态的 web 内容,并且我的网站是事务性的,新数据不断提交(客户期望我永远不会丢失它)。
有什么建议/建议吗?
是否有现成的框架可以做到这一点?(我主要在 Java 中工作。)我应该只是计划保存数据,还是应该计划准备启动一个替代的可用主机实现,以防主机没有在合适的时间范围内恢复?