<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 可汗學院支票簿每月在 GAE 上擴展至 600 萬用戶 > 原文: [http://highscalability.com/blog/2013/4/1/khan-academy-checkbook-scaling-to-6-million-users-a-month-on.html](http://highscalability.com/blog/2013/4/1/khan-academy-checkbook-scaling-to-6-million-users-a-month-on.html) <iframe align="right" allowfullscreen="" frameborder="0" height="141" src="http://www.youtube.com/embed/r7hC0oVPTVs" width="250"></iframe> [可汗學院](https://www.khanacademy.org/) 是由 [Salman Khan](https://www.khanacademy.org/talks-and-interviews/key-media-pieces/v/salman-khan-talk-at-ted-2011--from-ted-com) 創立的一家非營利性公司,其目標是向所有人,任何地方,任何時間提供免費的世界一流的教育。 那是很多知識。 長期以來,我受汗學院的啟發和迷住,我真的很想知道他們打算如何去做。 [可汗學院的首席開發人員 Ben Kamens](https://twitter.com/kamens) 在一次采訪中給出了令人驚訝的答案:[如何將您的初創企業擴展到數百萬的用戶](http://www.youtube.com/watch?v=r7hC0oVPTVs)。 **簡短答案**:組建一支強大的團隊,專注于功能,讓 [Google App Engine](https://appengine.google.com/) 負責。 在采訪中,有些人似乎被 GAE 的全部愛拒之門外。 部分原因在于,面試官是 Google App Engine 的開發倡導者 Fred Sauer,因此兩者之間有一定程度的熟悉度。 但是最大的原因是,由于您應該喜歡 GAE 的所有原因,他們真的很喜歡 GAE。 沒關系。 在這個時代,您可以自由選擇任何平臺。 **最大的驚喜**: * “ 60 分鐘”上的個人資料所帶來的訪問量比 TechChrunch,HackerNews 和其他所有內容的總和還多。 舊媒體還沒有死。 第一部分**最喜歡**: * GAE 是所有典型可擴展性問題的抽象,讓您專注于業務問題。 所有 [抽象泄漏](http://www.joelonsoftware.com/articles/LeakyAbstractions.html) ,無論您選擇什么,都將不得不處理問題,但是您正在選擇要處理的問題類型 根據您選擇的平臺。 這全都在于了解您要進行的權衡。 以下是我對訪談的主要要點: * 汗學院(Khan Academy)每月大約有 600 萬用戶,也許是 1500 萬注冊用戶。 為了進行比較,Coursera [共有 600 萬用戶](http://news.illinois.edu/ii/12/1115/coursera_daphne_koller.html) ,但我不確定這些用戶的活躍程度。 * 演變: * 最初,創建了視頻以支持學習如何解決數學問題。 這些視頻托管在 YouTube 上。 YouTube 沒有擴展問題。 * 但是 YouTube 不是交互式的,他們要做的很大一部分是向用戶展示學習樹,進行測驗,管理結果等。因此,他們首先嘗試了一個基于 Java 的自托管網站,但該網站被壓碎了。 加載。 * 然后切換到 GAE。 可汗學院與許多初創公司不同,因為它已經在 YouTube 上建立了一個現成的受眾群體。 數十萬用戶從 YouTube 切換到 GAE。 他們緩慢地建立了可以處理新用戶的非 YouTube 網站的基礎。 在 YouTube 上引導客戶可能是一個不錯的一般策略。 * 有很多新聞報道,整個事情如雪球般滾滾,而且還在不斷增長。 * 為什么選擇 GAE? * 對于任何一家初創公司來說,不要使用 GAE 或 EC2 之類的提供商都是沒有道理的。 它們有助于解決許多您不需要解決的可伸縮性問題。 輕而易舉。 如果您吸引了很多注意力,則可以立即投入更多資金并擴大規模。 * Spectrum:您想要開箱即用的控制權與可伸縮性的要求是多少? 控制得越多,您越有可能朝自己的腳開槍,做錯事。 * GAE 為您提供了開箱即用的可擴展性。 只要插入信用卡,就不會有很多可擴展性問題。 這為我提出了一個要點:他們如何負擔 GAE? 有趣的是,非營利性經濟學可以使人們擺脫對每個新客戶獲取成本的關注,而不必擔心貨幣化策略。 * 使用 AWS,您必須更多地玩游戲,知道如何處理實例,這需要花費更多時間。 * 他們不攜帶傳呼機,不用擔心復制,不需要重啟實例,也不需要應用操作系統補丁。 他們與 GAE 并不需要做很多事情。 * Khan Academy 的暑期實習生 Dylan Vassallo 參與了多個 App Engine 項目,并在 Hacker News 主題 中發表了出色的評論 [像 GAE:我是可汗學院的暑期實習生,從事各種 App Engine 項目。 我沒有根據的猜測是我們是該平臺的大客戶之一。 GAE 最大的缺點之一就是缺乏控制:與 EC2 不同,在 EC2 中,您需要根據自己的需要來模制原始的 Linux 安裝,而您的應用程序必須始終符合 GAE 的服務模型。 但是,通過放棄其中一些自由,您會得到很多很棒的回報。 可汗學院(Khan Academy)已成功利用 App Engine 擴展到數百萬用戶,而無需雇用一個系統管理員或花費太多時間擔心與操作相關的任何事情。 我們能夠毫不費力地應對流量高峰,例如 60 分鐘的外觀和新計算機科學課程的發布(http://khanacademy.org/cs)。 要部署站點,任何開發人員(或我們友好的 CI 機器人)都可以簡單地運行我們的“ deploy.py”并等待幾分鐘,然后回到花時間在產品上。 我們不必再考慮數據庫是否可以處理我們向其拋出的寫負載。 就此而言,App Engine 數據存儲區是獨一無二的無后顧之憂。 (嗯,我敢肯定 Google SRE 對此非常擔心,但我們不必這樣做。)](about:blank) * 為什么舊媒體仍然有意義。 與 60 分鐘驅動的流量相比,來自 TechCrunch,HackerNews 等的所有流量都不算什么。 差遠了。 * 他們知道他們將獲得大量流量,因此他們準備好轉彎右撥盤,以快速啟動新實例。 這就是他們所做的一切。 這是一個錯誤。 * 他們最終為這些新用戶做了很多不必要的工作。 他們需要簡化體驗。 例如,他們認為對于所有這些新流量來說,這將是運行該平臺的好時機,這是第一次使用其新的測試基礎架構來跟蹤所有這些美味數據的 A / B 測試。 失敗了 * 只要確保主要體驗干凈整潔。 如果您必須跟蹤數據,請確保它非常重要,并使用經過良好測試的數據跟蹤解決方案。 * 不要一次增加流量運行新代碼。 您只會得到一次。 如果有一半的國家因為您試圖跟蹤太多數據而無法訪問該網站,那么這是不值得的。 * 他們現在要做的是使主頁盡可能靜態,簡單,快速地加載,如果您分支出主頁,則可以獲得完整的體驗。 簡化傳入流量。 * 沒有進行足夠的負載測試。 60 分鐘帶來了很多流量,并且沒有經過測試。 但是它們具有一致的高流量負載,當不同時區的用戶上線時,流量每天都會激增。 交通也是季節性的。 他們通過自然流量模式獲得了很多有用的壓力測試。 他們必須處理高峰,低谷,人流量少的月份,然后人流量大的時候。 因此,他們知道必須在 GAE 中配置其代碼才能處理該峰值。 * 將您的工作盡可能多地轉移給其他人。 他們適合哪個 GAE。 巨大的勝利。 在有 9 名或 10 名員工的情況下,他們認為不再需要解決性能問題,并希望下一次能夠解決問題。 他們將人們奉獻給表演。 他們建立儀表板以提前預測問題。 試圖更加積極地關注性能和可伸縮性問題。 * 2 至 5 人的小組不關注可擴展性問題。 專注于功能。 使您的產品很棒。 讓人們回到它。 成功開展業務后,您就可以對所有想要的東西進行過度設計。 當您有機會構建成功的產品時,請擔心問題。 * 績效是每個人的工作,每個人都被分配給它。 嘗試在整個團隊中建立對績效的總體意識。 * 您將遇到大獲勝的性能問題,然后這是一個反復的較小的改進游戲,每次改進.25%,. 5%導致性能提高,因此這必須是每個人的工作。 人們不僅可以投入額外的 JavaScript 或進行新的數據庫查詢,還只會使您的網站運行緩慢。 * 他們有一個或兩個人的團隊專注于表現的宿舍。 可能是性能改進,也可能是工具,可以使他們更加了解性能。 * 收集大量數據。 他們想向老師和其他人報告數據。 他們的舊數據存儲系統無法匯總所有數據。 因此,他們致力于: * 匯總數據 * 在寫入上做更多的工作,因此讀取速度很快。 重新配置數據。 復制到任何地方。 使其真正快速地進行以后的分析。 * 對于分析而言,它們似乎可能不在 GAE 范圍內,但這并未具體說明。 * 在需求旺盛之前,請不要著迷于棘手的問題,例如即時重新配置功能。 * 它們足夠小,每個人都應對 DevOps 負責,以保持系統正常運行。 將來,GAE 之外可能會有足夠的系統,他們將擁有獨立的團隊,但目前還沒有。 * 在技術和產品上都使事情變得簡單,直到您完全知道需要構建什么為止。 從長遠來看,他們為解決問題和解決問題而構建的許多功能會導致真正的問題。 構建后很難將其關閉。 * 懶惰。 使用其他人的工具。 在您的企業表現出色之前,請不要害怕使用他人的工作。 ## 相關文章 * [Ben Kamens 博客](http://bjk5.com/) 中,關于可汗學院的話題很多。 非常可愛的狗。 他在 [亞馬遜的 Mega Dropdown](http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown) 上寫了一篇很棒的文章。 * [GitHub 上的可汗學院](https://github.com/Khan) -他們的所有代碼均為 [開源](https://khanacademy.kilnhg.com/) * 如果 GAE 對您中的某些人來說太過分了,這是關于 [的好消息,有關 Google App Engine](https://news.ycombinator.com/item?id=4403739) 的隱藏成本 * [我在可汗學院(Khan Academy)做過的事情](http://jamie-wong.com/2012/08/22/what-i-did-at-khan-academy/) -雖然視頻內容很籠統,但這是關于團隊所做工作的具體內容 * Google Group for [Khan Academy Developers](https://groups.google.com/forum/?fromgroups#!forum/khanacademy-developers) * [可汗學院使用 GAE / Bingo 進行的 A / B 測試課程](http://bjk5.com/post/28269263789/lessons-learned-a-b-testing-with-gae-bingo) * [Khan Academy Docs](https://sites.google.com/a/khanacademy.org/forge/home) -很多果汁詳細信息 * [可汗學院使用 Google App Engine](https://cloud.google.com/files/KhanAcademy.pdf) 來擴展和簡化 * [有關可汗學院開發工作原理的大圖片](http://www.brianbondy.com/blog/id/109/) [圖](http://interviews.slashdot.org/story/13/02/25/1417249/interviews-khan-academy-lead-developer-ben-kamens-answers-your-questions) * [GAE 調整應用性能](http://interviews.slashdot.org/story/13/02/25/1417249/interviews-khan-academy-lead-developer-ben-kamens-answers-your-questions) [調節](https://developers.google.com/appengine/docs/adminconsole/performancesettings) -您的旋鈕,如果您知道 [如何調整它們](http://bjk5.com/post/40833194761/pending-queues-and-loading-requests-on-app-engine) 。 * [第 1 部分:可汗學院首席開發人員 Ben Kamens 訪談](http://www.youtube.com/watch?v=BXxYEhwDh28) * [訪談:可汗學院首席開發人員 Ben Kamens 回答了您的問題](http://interviews.slashdot.org/story/13/02/25/1417249/interviews-khan-academy-lead-developer-ben-kamens-answers-your-questions)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看