相关问题: 分解集中式数据库的最有效方法是什么?
我将尝试使这个问题相当笼统,以便对其他人有益。
大约 3 年前,我实施了一个集成的 CRM 和网站。因为我想给客户留下深刻印象,所以我实现了我能想到的最便宜的架构,即在 Web 服务器上托管中央数据库和网站。我创建了一个桌面应用程序,它通过网络服务与网络服务器通信(这个应用程序从他们的主办公室运行)。
事后看来,这是相当愚蠢的,因为现在公司已经发展壮大,他们的互联网连接每个月都变得越来越慢。现在,由于速度问题,桌面软件定期超时,客户有 3 个选择:
- 购买更快的互联网连接。
- 将数据库(和网站)移动到内部服务器。
- 重新设计架构,使 CRM 和 Web 数据库分开。
第一个选择是“最简单的”,但肯定不是最便宜的长期。第二种选择;如果我们将网站转移到内部托管,客户必须解决诸如互联网连接过载/不良/离线、断电等问题。最后的选择;客户不愿意为我支付一大笔现金来重新设计和重新编码架构,而我负担不起免费这样做(我需要吃饭)。
当您将分布式系统的设计搞得如此糟糕,以至于所有选项都不起作用时,有什么方法可以恢复?还是减少损失并从错误中吸取教训?我感到很糟糕,没有快速解决这个问题。