Python 什么';设计一个考虑可伸缩性的体系结构是一个很好的起点?
我目前正准备开始设计一个新的应用程序。 该应用程序将允许用户插入一些数据,并将提供数据分析(以及报告),我知道这是没有帮助的,但数据处理将在后处理中完成,因此前端并不真正感兴趣 当需要扩展以处理更多用户时,我想从正确的路径开始帮助自己 我正在考虑使用PostgreSQL来存储数据,因为我已经使用过它,我也很喜欢它(如果NoSQL是一个不错的选择——因为并非所有的数据都需要关联——我喜欢Postgres的支持和社区,知道有一个大社区可以帮助我,我会感觉更好),MySQL(innodb)也是一个不错的选择,tbh我没有真正的理由选择它而不是PostgreSQL,反之亦然(也许MySQL更容易创建碎片吗?) 我知道几种编程语言,但我的强项是Python、C/C++、Javascript 我不确定是否应该为此任务选择同步或异步方法(我可以通过在负载平衡器后面运行更多同步应用程序来扩展) 我已经开发了另一个大型项目,它教会了我很多关于并发性的知识,但是每个选择都受到系统管理技能的影响(整个团队的其他成员,但主要受系统管理技能的影响),所以我们使用了python(django)+uwsgi+nginx 对于这个项目(因为它与另一个项目完全不同——那是一个电子商务,这是一个SaaS),我也在考虑使用node.js,这将是一个很好的机会,可以在一个严肃的项目中试用它。 最繁重的数据处理将由后期处理完成,因此所有前端(用户网站)将主要是I/O(+1,以使用异步环境) 你有什么建议 另外,我还必须记住,首先项目必须开始,所以我不能只考虑每个可能的设计,但我应该尽快开始编写代码:-) 我目前的想法是: -从你知道的事情开始 -尽可能简单 -跟踪所有内容以找到瓶颈 -扩大 所以不管我是部署sync还是async,这都无关紧要,但我知道async有更好的性能,而且每一件可以帮助我获得更好结果(从而降低成本)的事情都是可以评估的 我很想知道你有什么经验(还有其他技术)。。。 我对这种可扩展性越来越偏执,我担心这会导致错误的设计(这也是我第一次为商业目的单独设计=FUD) 如果你需要更多的信息,请让我知道,我会尝试给你一个答案。Python 什么';设计一个考虑可伸缩性的体系结构是一个很好的起点?,python,node.js,asynchronous,scalability,Python,Node.js,Asynchronous,Scalability,我目前正准备开始设计一个新的应用程序。 该应用程序将允许用户插入一些数据,并将提供数据分析(以及报告),我知道这是没有帮助的,但数据处理将在后处理中完成,因此前端并不真正感兴趣 当需要扩展以处理更多用户时,我想从正确的路径开始帮助自己 我正在考虑使用PostgreSQL来存储数据,因为我已经使用过它,我也很喜欢它(如果NoSQL是一个不错的选择——因为并非所有的数据都需要关联——我喜欢Postgres的支持和社区,知道有一个大社区可以帮助我,我会感觉更好),MySQL(innodb)也是一个不错
谢谢。这是一个很好的资源。许多关于处理大型web负载的有趣案例研究
您没有提到它,但您可能想考虑将其托管在云中(Azure、Amazon等)。使硬件的扩展变得更容易,如果您的需求波动,它会特别好 看看可伸缩性模式和方法 以下是一些基本准则:
这本书是由eBay&Paypal的同事们写的。谢谢你的链接。我看到有不同的扩展方法(生成多个应用程序,其他人使用异步)。最强大的是什么?什么样的方法可以帮助我尽可能多地使用相同的硬件为更多的用户服务?(降低每个用户的成本)我已经在搜索高可扩展性,但是如果你知道答案,那会很有帮助。