ivaneeo's blog

          自由的力量,自由的生活。

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks

          很早之前在Infoq上看到Heroku的介紹,不過當時這個網站并沒有推出,今天在整理收藏夾的時候發現,Heroku已經推出一段時間,而且現在作為云計算平臺已經有很快的發展了。

          Heroku是Rails應用最簡單的部署平臺。只是簡單的把代碼放進去,然后啟動、運行,沒人會做不到這些。Heroku會處理一切,從版本控制到 自動伸縮的協作(基于Amazon的EC2之上)。我們提供一整套工具來開發和管理應用,不管是通過Web接口還是新的擴展API。

          HeroKu的架構大部分是采用開源的架構來實現的,:)其實構建云計算平臺,開源的世界已經解決一切了,不是嗎?下面看看HeroKu的架構圖,非常漂亮:

          Heroku架構圖

          一、反向代理服務器采用Nigix

          Nigix是一個開源的,高性能的web server和支持IMAP/POP3代理的反向代理服務器,Nigix不采用多線程的方式來支持大并發處理,而是采用了一個可擴展的Event-Driven(信號asynchronous)的網絡模型來實現,解決了著名的C10K問題。

          Nigix在這里用來解決Http Level的問題,包括SSL的處理,Http請求中轉,Gzip的傳輸壓縮等等處理,同時應用了多個前端的Nigix 服務器來解決DNS及負載均衡的問題。

          二、Http Cache采用Varnish

          Varnish is a state-of-the-art, high-performance HTTP accelerator. It uses the advanced features in Linux 2.6, FreeBSD 6/7 and Solaris 10 to achieve its high performance.

          Varnish在這里主要給采用來處理靜態資源,包括對頁面的靜態化處理,圖片,CSS等等,這里請求獲取不到的再通過下一層的Routing Mess去獲取。通常還有另外一個選擇Squid,不過近幾年來,Varnish 給大型網站應用的更加的多了。

          三、動態路由處理層,這里采用了Erlang 實現的,是由該團隊自己實現的,Erlang 提供了高可靠性和穩定性的服務端實現能力(其實,我們也可以這樣去使用),這個層主要是解決路由尋址的問題,通過合理分配動態過來的請求,跟蹤請求的負載能力,并合理的分配可獲取的下一層app 服務。這個層實現了對業務app的可擴展性和容錯性,可以根據下一層服務的負載容量來合理進行路由的選擇。原理上它是一個分布式的動態HTTP請求的路由池子。

          四、動態網格層,用戶部署的app是部署在這一層,可以看成是一個服務器集群,只是粒度會更加的細小。

          五、數據庫層,這里不用多說了

          六、Memory Cache

          也不需要多說,現在大部分互聯網公司都在應用,而且基于它開發了很多好的連接器,我們公司其實也有在采用,不過我們還有自己開發的分布式內存系統,如原來的TTC Server,現在好像叫WorkBench。

          posted on 2011-02-19 12:14 ivaneeo 閱讀(419) 評論(0)  編輯  收藏 所屬分類:
          主站蜘蛛池模板: 闽清县| 东丰县| 微山县| 韩城市| 景泰县| 浏阳市| 宜川县| 昌邑市| 偃师市| 宣威市| 北票市| 田林县| 宁明县| 昂仁县| 双流县| 保靖县| 临高县| 舟山市| 顺平县| 安宁市| 来安县| 临海市| 西乌| 洞口县| 临安市| 雅安市| 泰州市| 盐津县| 塔河县| 佛山市| 搜索| 庐江县| 柳州市| 牟定县| 建平县| 公主岭市| 永兴县| 九寨沟县| 涟水县| 原阳县| 莱西市|