高性能网站
在设计大型社交网站(有大量交易,如 Twitter)时,我应该使用哪些技术?使用开源解决方案 - 数据库 - 网络服务器 - 操作系统
What technologies should I use when designing for a large social website (with a lot of transactions, like twitter)? using open source solutions
- database
- webserver
- os
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
如您所见,您选择什么并不重要;重要的是,您可以 使用 PHP。所有这些网站都有大量流量,但基于截然不同的技术。
As you can see, it doesn't really matter what you choose; all of these sites have lots of traffic, but are based on very different technologies.
在社交网站中最重要的是后端,因为大部分瓶颈都来自后端。您可能需要考虑 No-SQL 数据库。
还有一些其他的,例如:
至于编程语言,正如其他人所说,并不那么重要。但如果您确实无法决定,您可能需要考虑非阻塞网络服务器,例如 Tornado。
What matters most in a social networking sites is the backend, since most of the bottleneck will be from there. You might want to consider No-SQL databases.
There are a few others like:
As for the programming language, as others have said, it does not matter that much. But if you really can not decide, you might want to consider a non-blocking webserver like Tornado.
无论您选择哪种脚本语言,只要您大量使用 memcached 即可。拥有正确的缓存层次结构是必须的。
Doesn't matter what kind of scripting language you'll choose, as long as you'll heavily utilize memcached. Having the right caching hierarchy is a must.
归根结底,这是个人喜好的问题。 Twitter 使用 Ruby on Rails。维基百科在 PHP 上运行。 Reddit 使用一个名为 web.py 的 Python 库,但最初它是用 Lisp 编写的。我想说选择你最熟悉的技术。
At the end of the day, this is a matter of personal preference. Twitter uses Ruby on Rails. Wikipedia runs on PHP. Reddit uses a Python library called web.py, but intitially, it was written in Lisp. I would say pick the technologies you are most familiar with.
雅虎工程师关于优化高性能网站的一本好书是 高性能网站:前端工程师的必备知识。它很好,很简短,基本上是一个项目符号指南,介绍了通过优化不太深入探索的前端来使网站更快的步骤。
A good book on optimizing for high performance websites from the Yahoo engineers is High Performance Web Sites: Essential Knowledge for Front-End Engineers. It is nice and short and basically a bulleted guide on the steps to take to make websites faster by optimizing the less well explored front-end.
正如乔尔所说
选择您最了解的“三大技术”(.Net、Java 或 PHP)中的一个 - 这些技术众所周知是可扩展的,您的网站是否可扩展的真正问题是网站的结构和质量代码 - 使用您最熟悉的框架可以为您提供实现这一目标的最佳机会。
As Joel says
Choose whichever of the "big 3" (.Net, Java or PHP) that you know best - these technologies are known to be scalable, the real question of whether or not your site will scale is how the site is structured and the quality of the code - using whichever framework you are most familiar with gives you the best chance of achieving that.
任何适合您口味的技术,在您的情况下我认为算法更重要。
Any technologies that suite your taste, In your situation I think algorithms is more important.
技术、技巧、
Technologies, techniques ,
如果您正在构建类似 Facebook 的东西,那么您的选择有点有限,Facebook 制作了自己的 PHP 运行时,请检查 PHP 版 HipHop
If you are building something like Facebook, then your choices are a little limited, Facebook made their own PHP Runtime, check HipHop For PHP