我正在考虑一些像facebook或linkedin这样的社交媒体应用程序。我在http://highscalability.com/这样的网站上阅读了很多文章,并没有找到正确的答案。
因为,现在最大的应用程序,使用他们的自定义系统。他们使用自定义文件系统或自定义数据库引擎或自定义Web服务器。他们不使用原始的iis,apache,mssql,mysql,windows或linux。他们使用大量编程语言来解决不同的问题。由于它们的负载,它们对他们没问题。他们必须计算每一点或一些东西。他们从一些小环境开始,他们遇到了问题,看到了瓶颈。因此他们创立了新的解决方案。
现在,我们可以找到一些关于他们当前系统的文章。但我们没有回答什么是最好的开始。
我需要学习的答案“什么样的架构才是正确的开始?”
我对此有一些想法,但我们需要确定它。
我们认为,
将mysql用于关系数据库。和mysc上的memcached一样的缓存机制。和业务层的休息api。我们认为使用python进行rest api的编码。所有系统都运行在合适的Linux发行版上。在所有这些环境都可以之后,我们可以使用任何语言或系统来实现UI。它可以是用于Web的PHP站点,也可以是IOS或Android的本机应用程序。
我们需要你的建议。非常感谢你。
(我是一位好读者,但这是我的第一个问题。我希望没有问题。)
答案 0 :(得分:2)
去年我提出了类似的问题compiled一些较大的社交网站使用的技术和技术。
以下架构概念在这些站点中很普遍:
可扩展性
灵活性
可靠性
注意:如果您启动新网站,则不太可能存在这些超大型网站所面临的扩展或可靠性要求。因此,最好的建议是从小做起,但要保持灵活性。一种方法是使用一种简单的应用程序框架,但具有后续扩展的灵活性,例如: Django的。