約我目前的狀況一點點:我應該使用哪些技術來創建高性能的可伸縮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