社交网站的架构应该是啥?

Posted

技术标签:

【中文标题】社交网站的架构应该是啥?【英文标题】:What should be the architecture for social-networking web site?社交网站的架构应该是什么? 【发布时间】:2010-07-08 03:57:31 【问题描述】:

我想用java开发一个社交网站。我想使用 Spring、Hibernate、Jasper 以及 sms api。

在较新的水平,我想知道我是否在正确的道路上使用这些技术?如果我应该遵循,请提出更多建议。

我应该使用什么数据库? (PostgreSQL、mysql 等)

最后,我应该为这个开发遵循什么架构?意味着我如何构建我的开发以准备好我的网络?

【问题讨论】:

【参考方案1】:

您可能想阅读Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design 一书中标题为“数据成长:Facebook 平台架构”的第 6 章。免责声明:我共同编辑了这本书,但我没有从它的销售中获利;作者的版税捐赠给了国际人道主义援助组织无国界医生组织。 Facebook架构的章节好像总结在this blog post。

【讨论】:

FB 被认为是好的架构吗?很难想象必须在短时间内支持超过 200+百万用户的东西可以避免很多折磨人的黑客攻击 :) 最后的博文链接受到限制,只有受邀成员才能查看:(【参考方案2】:

这并没有太大的区别——php、Java EE、ASP.net 都非常强大。同样,任何合理的数据库都应该没问题,所以 MySQL 是一个公平的选择。

我个人会使用 Java + MySQL,但这只是因为我不喜欢/不使用 PHP,而且我不太了解.net。

您也可以完全合法地使用 Ruby [on Rails] 或 Groovy 等基于 Java 的语言之一。

【讨论】:

其实我不知道 RoR 或者 groovy。是不是更容易学?我应该去 CMS 吗? @Sarang 如果您想提高工作效率,请使用您最了解的东西。如果你想学习,这些可能会很有趣,并且与你已经知道的东西有点不同。

以上是关于社交网站的架构应该是啥?的主要内容,如果未能解决你的问题,请参考以下文章

对于像 Facebook 这样的大型社交网站来说,最佳的 RDBMS 解决方案是啥?

部署社交网站-SVN 与 LNMP架构

java 架构——这个社交网络/视频编辑网站的想法要使用哪些技术栈和插件?

社交网站的数据库设计

如何自定义在社交媒体网站上发布网站 URL 时显示的图像

我可以为我的社交网站中的每个用户创建每个表吗?