约我目前的状况一点点:我应该使用哪些技术来创建高性能的可伸缩Web应用程序?
我OOP PHP体面的知识
我的MySQL,一个体面的理解,这是我的选择(主要是因为它是所有的数据库我知道)
我的Symfony2 +学说
我现在坐的一个很好的理解e使用Elastica(弹性搜索的PHP库)...虽然我注意到结果与facebook搜索相比很慢。
我使用jQuery的前端开发
我有HTML/CSS的一个坚实的理解
我主持我的网站在Amazon EC2上
我有一个我想回答几个具体问题
随意添加其他任何东西你觉得会有所帮助。我的主要目标是学习创建高性能企业应用程序的最新技术。另外,我很好奇我会注意到多少性能提升,比如升级我的亚马逊盒子。 Andddd,对于以下问题:
Facebook如何快速返回他们的搜索结果,并且几乎是在输入时立即输入?
Facebook如何在聊天窗口之上实现其状态更新。我可以轻而易举地将一些东西拼凑在一起,每5秒钟调用一次后端脚本并更新UI,但我不确定我会遇到什么类型的性能问题,或者这是甚至Facebook如何做。
facebook状态更新如何汇总并仅与朋友相关和/或订阅源偏好。
MySQL不再是速度和可伸缩性选择的数据库吗?
我应该查看和阅读哪些资源和书籍?我花了每天阅读有关我已经使用的东西......但我想更好地把精力集中在潜在的更有用的东西上。
一般来说,什么技术,包括语言,服务器和数据库“栈”将被用于创建类似Facebook的(请注意,我不希望建立一个社交网站)
是使用像symfony2这样的框架,而不是编写定制的定制解决方案,性能会受到很大影响吗?(我知道代码的质量明显的问题,但总的来讲)
如果你没有回答所有这些,数三,四,五可能是最重要的。
在此先感谢。快乐的编码。
这真的让我思考。我的应用程序中有一些区域应该具有全局一致性。这通常是用某种类型的javascript计时器完成的,该计时器根据特定条件检查后端是否有新的更新。有一个领域我很想了解更多。也就是说,Facebook的搜索如何几乎瞬间恢复(并在输入时检索结果?) – ThinkingInBits 2012-03-04 15:59:14
我认为您误解了全球一致性。这是系统的属性,在任何给定时刻的所有外部交互都会显示相同的数据视图。例如,您和我在同一天(例如)在10:00:00.000处查看(比如说)Twitter,并且必须看到相同的Tweets。相反,如果我在8秒之后才看到用户@foobar发布的最新推文,只要我确实能够看到它,会造成什么样的危害?用户通常更关心性能和数据持久性。 – 2012-03-05 23:10:36