基于另一个数据的新站点-最好的系统架构



所以事情是这样的:

  1. 我有一个网站,我们称之为目录。这是一个高级产品目录,里面有很多项目。它在基于php的CMS上工作,不是我做的,是一个相当完整和复杂的系统。重要的是,它有用户身份验证系统,数据库中有很多用户。除非您登录,否则您无法访问大多数产品。

  2. 我想有另一个网站,我想建立一个自己的网站。它将包含一些产品的附加数据、扩展下载部分和一些媒体。我想和Django一起构建它。

其他网站将大量使用目录的数据库:-它需要授权用户使用目录中的登录名/通行证-它将需要客户的数据来定制他们的视图。

我在构建更先进的系统方面没有太多经验。经验丰富的程序员,你能告诉我你将如何做到这一点吗?

具体来说,我关心的是数据库:我应该只使用原始数据库吗?并合并所有与django相关的内容?它会影响目录吗?这通常是个好主意吗?

正如我所提到的,我将使用目录数据库中的用户数据来验证用户。这个想法是否存在一些安全问题?

我直觉上觉得我应该使用一个数据库,而不是两个。如果我错了,请纠正我。

请告诉我你对这个想法有什么看法。也许这不值得追求,应该以完全不同的方式来做?

谢谢,

C

有各种方法可以做到这一点,在做出决定之前需要权衡各种风险。因为这是第一次,所以出错的风险很高(无意冒犯,只是这样(,因此,对已经在生产中使用的数据库进行修改可能不是最好的主意。如果你做出改变,它可能会对其他网站产生负面影响,你可能很难弄清楚是什么导致了改变,或者如何从中恢复。

您仍然可以(从技术上(使用相同的实际数据库服务器,只需使用不同的数据库,即可将其全部存储在同一个位置。不过,根据数据库的锁定方式,您可能会遇到问题,因此您需要考虑对数据库的访问以及这种性质的事情。您也可以很容易地使用不同的数据库,并将所有内容分开。

使用同一数据库的缺点包括,无论您使用哪个数据库,都有最大数量的连接和IO,因此,如果您的新站点成功,可能会导致另一个站点在查询时间和诸如此类的事情方面变慢。

关于身份验证,您可以采用以下几种途径。在使用单独数据库的情况下,可以从数据库中执行实际读取,以检查身份验证和权限以及诸如此类的内容。您还可以为旧网站创建一个API,只需让新网站使用该API进行身份验证。

总而言之,我的观点是使用不同的数据库,并将旧数据库用于只读目的。稍后,您可以创建一个API,两个应用程序都可以在其上工作,以限制代码重复。不过,尝试合并会带来很大的潜在问题,尤其是如果您是系统的新手。

相关内容

最新更新