最近,我接手了Django项目,该项目的一个组件是Scrapy scrappers(很多核心功能)。值得补充的是,抓取工具每天只需要几次馈入数据库,而django Web应用程序正在使用此数据。
Srapper可以直接访问Django模型,但是我认为这不是最好的主意(混合职责-django应当充当Web应用程序,而不是Scrap,不是吗?)。例如,可以在无服务器的情况下运行这种拆分的报废程序,从而节省了资金,并且仅在需要时才产生。
我至少将其视为体系结构中的独立组件。但是,如果我要将报废程序与Django网站分开,那么我也需要在其中填充数据库-更改Django webapp或scraping应用程序中的模型将需要更改第二个应用程序以进行调整。
我还没有看过有关拆分这些应用程序的文章。
这里的最佳做法是什么?值得分割吗?您将如何组织部署到云解决方案(例如AWS)?
谢谢
嗯,这是一个很大的讨论,我有同样的“好问题”。
简短回答:
我建议您如果要分离它,则可以使用不同的方案将逻辑与数据分离。我以前做过,是个好方法。
长回答:
问题是:
如果答案为是,则可以将其分成2个DB。一个包含原始信息,另一个包含已处理的信息(将与Django共享)。
如果答案为否,我看不出有任何理由将其分开。最后,Django只是数据的可视化器。
如果答案为是],请通过模式甚至DB将其分开。
如果答案为否