coolfiry

          認認真真做人,兢兢業業做事!
          posts - 39, comments - 17, trackbacks - 0, articles - 0

          網站如何做分布式(集群)的大綱

          何時要用分布式

          • 單臺服務器無法承受壓力。
          • 需要實現發生錯誤時候,自動切換
          • 學習或者測試分布式技術

          應用分布式的場景


          一、提供多個對外的接口,按照一定規則,分派不同請求由不同接口來處理。
          這時候需要考慮:
          • 如何實現負載均衡
            • 在哪個層次實現轉移負載
            • 負載的均衡如何實現
          • 如何實現故障轉移
            • 如何監控故障
            • 如何切換服務

          二、把一個功能拆分成多個功能,不同功能分布部署到不同服務器上

          • 對外功能的拆分?
            • http://news.sina.com.cn/ http://sports.sina.com.cn/ http://mobile.sina.com.cn/
            • http://www.microsoft.com/china/? http://www.microsoft.com/downloads/
            • SOA
          • n層架構,其中的一些層分布到不同服務器上
            • WEB + DB 模式

          網站請求中的分布式

          按照請求流程,我們可以在以下環節按照一定規則,把用戶的請求分流到不同服務器上:

          • Web Client Level
            • 例子:QQ 設置中你可以選擇登陸的服務器IP
          • DNS Based Selection
            • 優點:
            • 缺點:
              • 不能區分服務器的差異,也不能反映服務器的當前運行狀態。
              • DNS 的刷新需要時間,無法及時故障切換。
          • TCP balancing proxies
            • 硬件
            • 軟件
          • HTTP-aware routers

          • URL重定向

          網站應用中的分布式

          • 代理服務器實現請求的分離
            • Squid是Linux下一個緩存Internet數據的代理服務器軟件
          • 拆分網站對外功能
            • 不同域名前、后綴
            • URL 重寫
          • SOA
            • 每個Service 分布到一臺服務器上
          • n 層架構
            • 緩存分布式部署
              • 文件Cache
              • 內存Cache (memcached )
                • http://www.danga.com/memcached/
                • https://sourceforge.net/projects/memcacheddotnet/
            • DB分布式集群部署
              • 故障轉移
              • 發布訂閱
              • 分布式分區視圖
            • 應用服務器(比如定時發送郵件通知的服務)

            • 相關技術:
              • 企業服務
              • .net Remoting
              • WCF
              • Web Service

          ?

          如何判斷一個應用是否支持分布式

          如果發現某一部分應用需要做分布式了,就可以按照以下思路來考慮如何改造:

          從應用所用數據看是否支持分布式

          • 多份并存數據(一個數據存在多份)最大多長時間同步一次是可接受的。
            • 內存緩存的數據跟數據庫的數據(頁面級緩存和業務邏輯緩存)
            • 靜態文件跟數據庫
            • 查詢數據庫跟業務變更數據庫
          • 數據按照一定規則拆分(一個數據只存在一份)對業務是否有影響
            • 過去每年的數據遷移到一個對應歷史庫中。
            • 專用的圖片服務器 http://pics.ebaystatic.com/

          此處可分析:QQ的在線用戶數據,會是如何處理的呢?

          從應用邏輯過程看是否支持分布式

          • 是否可以并行執行這個邏輯過程

          • 這個邏輯過程是否可以拆分成幾個松耦合的過程

          微軟技術支持的5種分布式

          夏桅的這篇博客中的圖表就可以很詳細的對比這5種分布式:

          Windows的第五種群集方案 - CCS

          posted @ 2006-09-21 15:34 Coolfiry 閱讀(792) | 評論 (0)編輯 收藏

          http://www.tiobe.com/index.htm?tiobe_index

          這次 vb?和 vb.net 的數據再次合并了。C 系的語言 (java, c, c++, C#) 總體占了 50% 強。在 .net 環境中,vb 大概還是多過新生代的 C# 。
          這次仔細了看了看。才發覺這個升降是去年同期的比較。是能夠使用此語言的工程師,課程,獨立軟件生產商的相關比例。不直接代表用語言出了多少代碼。

          原來 Ruby 和 Java 基本上是同時代的東西。http://www.ruby-lang.org/? http://rubycn.ce-lab.net/?由日本人發明、流行的東西。
          從運行效率、性能上來看,C/C++ 比 Java 強。Java 比 Ruby 強。在比較簡單的功能中,Java 和 C/C++ 可以相當接近。當程序的算法比較復雜,涉及大量數據的時候,Java 速度還是會落后近一個數量級。此時,內存使用也會有幾倍的差異。
          http://blog.csdn.net/rmartin/archive/2006/08/30/1143161.aspx
          http://www.butunclebob.com/ArticleS.UncleBob.SpeedOfJavaCppRuby

          不知道 D 是什么東東了。倒是在許久以前,從公司的首設博士那里聽到過一耳朵。感覺語法結構還是 C like 的。http://www.digitalmars.com/d/index.htmlhttp://www.soho-works.net/BLOG/326.asp?http://libai.math.ncu.edu.tw/bcc16/user/forum/read.php?f=15&i=14

          http://www.tiobe.com/index.htm?tiobe_index

          TIOBE Programming Community Index for September 2006

          September Headline: Ruby and D are the hot languages of today

          tiobe language 200609

          tpci trends 200609

          posted @ 2006-09-14 13:35 Coolfiry 閱讀(604) | 評論 (0)編輯 收藏

          摘要:

          近日, Sun 宣布收購 JRuby 項目.Sun終于開始表露出讓不僅僅是Java運行在JVM上的興趣了.

          ?
          近日, Sun 宣布收購 JRuby 項目.

          Sun終于開始表露出讓不僅僅是Java運行在JVM上的興趣了.

          近日,SUN邁出了重要的一步.

          Charles Nutter, JRuby 的核心開發者之一, 宣布: Sun 已經整體收購了JRuby 項目. 他與JRuby的另外一個核心開發者
          Thomas Enobo 都將會加入Sun.


          從這次動作看的出來Ruby在Sun戰略中的地位,??看來Ruby很有可能成為JVM支持的第一個非Java語言.

          動態語言, 已經不遙遠了.

          官方站點:
          http://jruby.sourceforge.net/
          (http://www.matrix.org.cn/resource/news/JRuby+Sun_954.html)

          posted @ 2006-09-11 13:58 Coolfiry 閱讀(221) | 評論 (0)編輯 收藏

               摘要: 用 JNI 調用 C 或 C++ 動態聯接庫原來如此簡單 ...  閱讀全文

          posted @ 2006-09-09 16:30 Coolfiry 閱讀(548) | 評論 (0)編輯 收藏

          開學了

          posted @ 2006-09-04 13:45 Coolfiry 閱讀(214) | 評論 (0)編輯 收藏

          回成都了

          posted @ 2006-09-01 22:12 Coolfiry 閱讀(215) | 評論 (0)編輯 收藏

          多線程與一個端口的問題
          不知道在一個進程中的多線程同時運行,使用同一端口會出現什么樣的情況?

          比如:開5個線程下載,下載的時候,每一個線程是否是能正確的接收到數據.如果能,那么Socket是針對線程級的,但那樣的話,這幾個線程就不能同時使用一個端口了,應該是會報差的哈.

          還有一點,在下的時候好像可不指明接入的端口號哈?

          posted @ 2006-08-19 22:49 Coolfiry 閱讀(1149) | 評論 (1)編輯 收藏

          ?看新鮮,基于Ajax技術網站賞析
          2006-6-9 11:11:24

          Ajax,與其說是一種技術不如說是一系列技術的組合,但Ajax帶給我們的不僅僅是技術,更多的是以人為本的一種服務理念,它崇尚參與性和交互性,不僅緩和了資源矛盾也親和了人與人之間的關系。Ajax王國下的子民既是管理者又是被管理者,是主亦是客,是信息接收者也是信息制造者,多么和諧美妙的社會!


          Google Ajax技術的領跑者,基于Ajax的廣為大家熟悉的產品有Google Maps,Google Gmail,Google IG等,Google作為Ajax技術的先行者和倡導者早已經走在其它同類網站的前列。進入Google MapsGoogle GmailGoogle IG

          Macrosoft Live 微軟帝國一直以操作系統為核心,但迫于Google帶來的巨大威脅,這個軟件界的巨人開始把目光轉向web應用技術服務,建立了具有個人門戶性質的live網站,live網站目前還不支持中文版,但其個性化的界面已經深深吸引了大批用戶,用戶體驗非常棒。進入live網站

          Netvibes 有中文繁體功能,可惜不支持簡體。比較早的桌面系統,功能也十分的齊全,系統寫的代碼十分的精簡。據說 Okrss和周博通都是仿照它寫的代碼。進入Netvibes

          Pageflakes 是一個在已經異常擁擠的桌面系統市場中新近推出的網站. 它綜合了RSS閱讀器, 郵件收發, 記事本以及搜索等功能. 提供第三方API。進入Pageflakes

          Favoor 這個色彩如LOGO一樣比較鮮艷,活動的桌面系統,不過需要先注冊才可以使用,注冊是方便的。同樣都是支持RSS,郵件收發,書簽之類的小功能。這是來自德國的網站。進入Favoor

          Eskobo 藍色色調,我測試了一下,中文支持的功能很好。還配有各種skin任你選擇,隨你喜好吧。進入Eskobo

          Protopage 面中的元素可以像視窗那樣徹底地無限制移動,不像其它的桌面Ajax系統,只能定向移動。進入Protopage

          Goowy 這個就十分特別的,網頁版,還有下載的桌面版,有點像YAHOO的widget。我正在研究,功能太多了,大家都來試用吧。進入Goowy
          ■國內

          GouGou GouGou作為一個在線RSS閱讀網站實際上起到了一個反rss的作用,人們千方百計地把自己網站上的內容xml化并提供給一些特定的RSS閱讀器訂閱,但GouGou似乎把這些東西又還原了,所幸的是,用這種方式進行內容閱讀還是比直接瀏覽網站方便得多。進入Gougou

          Redoo熱度 我不知道國內從什么時候開始也有了Ajax網站,但這個網站不論從技術上說還是從內容上說都是做的比較好的,不過明眼人一看就知道這個網站的很多程序代碼是借鑒別人的,不管怎么樣,它把自己的內容進行了有效的組裝,已經非常不錯了。進入Redoo

          posted @ 2006-08-19 16:27 Coolfiry 閱讀(5113) | 評論 (4)編輯 收藏

          Coolfiry的Blog開通了

          posted @ 2006-08-19 14:50 Coolfiry 閱讀(232) | 評論 (0)編輯 收藏

          僅列出標題
          共4頁: 上一頁 1 2 3 4 
          主站蜘蛛池模板: 吴堡县| 民权县| 繁昌县| 青田县| 阳谷县| 蒲江县| 上林县| 大关县| 开封县| 长乐市| 曲阳县| 宁晋县| 乌鲁木齐县| 太谷县| 武功县| 桑植县| 古交市| 神农架林区| 万安县| 疏附县| 平陆县| 南安市| 双峰县| 武定县| 保德县| 梅河口市| 田阳县| 萨嘎县| 伊宁县| 黑山县| 徐汇区| 辉县市| 桂阳县| 余江县| 鄄城县| 象山县| 桦川县| 苏州市| 湘西| 阳江市| 明水县|