0

我有一些相关的网站,但不幸的是它们拥有完全独立的用户数据库。我一直在考虑如何统一数据库的不同选项:

  1. 重新设计网站以在我的内容管理系统的一份副本上运行,而不是在独立软件上运行。优点:看起来很干净。缺点:由于需要重写其中一个站点的大量后端以支持另一个站点的不同功能,这很复杂。

  2. 使用我编写的 OAuth 后端与 Facebook 交互,在站点之间来回进行身份验证。优点:似乎将 OAuth 用于其应做的事情。缺点:它至少需要一些冗余,我需要在两个站点上存储重复的用户数据,这可能会不同步。对于在同一台服务器上运行的两个站点来说,这似乎也有点矫枉过正。

  3. 每当在任一站点上创建或修改帐户时都连接到两个数据库,并将修改应用于另一个站点。优点:似乎避免了不同步的风险,并避免了必须在站点之间创建和接收 OAuth 数据的复杂性。缺点:它需要在站点之间完全复制用户信息。

  4. 选择其中一个站点作为规范数据库,并让另一个站点的用户身份验证机制连接到第一个站点的 MySQL 数据库,同时仍然连接到单独的数据库以实现站点的其余功能。

我对任何选项都不完全满意,尽管#4 感觉就像我正在考虑的最简单的实现。尽管如此,在我开始这样一个项目之前,我想我会询问我可能会忽略的潜在陷阱,因为没有一个想法是完全琐碎的。我很感激关于哪些可能被认为是“最佳实践”的建议,也许更重要的是,哪一个会对服务器资源造成最大的影响。我正在使用 PerlDBD::MySQL与数据库进行交互。

4

0 回答 0