<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    這次做portal的一些總結(二)

    接著前面的寫。上文主要寫了 ajax portal 中的使用,這篇寫集群方面的體會?,F在比較流行的架構就是前端 F5 做負載均衡,后面 2 websphere server 做成集群,各自都有 HttpServer ,每個 HttpServer 都向 2 was 做轉發。這樣每臺都能獨立完成從 HttpServer was 的流程。一臺出現故障, F5 首先進行切換,只向正常 server HttpServer 發起請求,這臺 HttpServer 再進行切換只向同一臺 server 上的 was 做轉發。這次 portal 就是采用的這種架構,不妨稱為架構 A 。

    另一種簡單點的架構就是只做 F5 負載均衡,不做 was 集群,每臺 websphere server 上的 HttpServer 接受 F5 轉發的請求,只向本 server was 轉發。這樣每臺 websphere server 保持獨立,相互間沒有數據交換和轉發。不妨稱為架構 B 。

    架構 A B 各有優劣,適合不同的需要,下面進行些比較:

    ????????? 從應用部署上看:

    A 使用了 websphere 集群,由一個 DeployManager 進行分發,部署應用,只需部署一次,由 DM 分發到幾個節點上。而 B 每個 server 都是獨立的,部署應用只能一臺臺部署,如果 server 較少差別還不明顯,如果達到 10 臺以上,一臺臺部署將是一個比較痛苦的事情。

    ????????? session 上看:

    A 使用了 websphere 集群,可以使用集群提供的 session 復制,對于一些關鍵應用(某臺服務器宕機, session 也必須保持的應用)很有必要。而對于一些能夠允許 session 丟失的應用,才可以使用 B 。當然 A 也可以關閉 session 復制,因為 session 復制不管是使用數據庫方式還是內存方式,總會消耗一定的性能。具體消耗多少性能,就要看不同的 application server session 復制方案了,想深入了解,可以看集群方面的文檔,我也只記得一個比較簡單的 round robbin 了。

    ????????? 從架構復雜性看:

    B 更為簡單,因為沒有 DM 的概念,每臺 server 都保持獨立。而使用了 DM 有時也會出現莫名奇妙的問題,這當然是由于不了解 DM 的機制所致,但總歸也增加了復雜度,這點在后面的教訓中進行說明。

    ????????? 從水平擴展性上看:

    B 肯定更勝一籌。只要 F5 能支持,多少臺 server 都沒關系。而 A 多臺 server 做集群,要看 websphere 支持的節點數量,應該不會太大。這個如果哪位同學知道,敬請告知。

    當然 A B 在服務器較多的情況下是可以共存的,可以考慮幾臺機器做集群,然后集群間做負載均衡,這樣既可以減少部署的復雜度,又可以帶來較好的水平擴展。由于沒做過更大型的項目,這個也只是我的假象,請做過的同學斧正。

    ?

    說一說集群中碰到的問題。

    ????????? 首先是對各節點的同步:

    有時為了方便測試,我們只對其中一個節點進行更改,測試通過再放到其它節點。而如果測試周期較長,有時就會造成節點的不同步,出現各種各樣莫名其妙的問題。一個經驗就是:無論如何,在每天下班前要保證各節點的同步,不同步的現象不要過夜。

    ????????? 然后是對 DM 的理解:

    我現在還只是實踐階段,沒有看過相關文檔。從意義上看,它控制了相關的配置文件,如果進行節點同步,就會由它把配置文件同步到它管理的節點上。這對配置文件的修改提出了要求。我們開始只修改節點的配置文件而沒有修改 DM 的,結果進行節點同步就會覆蓋修改的配置文件,帶來很多不必要的工作。經驗就是:或者修改 DM 的配置文件,然后進行節點同步,或者直接同時修改所有節點和 DM 的。

    ????????? 還有關于 cache 的:

    Cache 是性能優化的一個有效手段。在單機環境下,最簡單的就是內存 cache ,使用 static Map 就行。而在集群環境中, cache 就變的比較復雜了。首先還是從應用需求入手,是否要保持每臺機器的 cache 同步。如果只是信息展示等要求不高的 cache ,不需保證 cache 的同步,問題也比較簡單,自己寫內存 cache ,或者使用開源的 cache 組件如 ehcache,oscache 等就可以很好的解決問題。而如果需要 cache 在幾個節點保持同步,就需要特殊的機制了, ehcache 等號稱支持分布式 cache ,但好像需要 jgroup ,配置比較麻煩,我沒有用過,有用過的同學請指教。我本來想使用 session 保存,然后進行 session 同步,后來 IBM 建議使用數據庫 cache ,即自己寫代碼, cache 在數據庫中。這樣不需要 session 同步,對象不大,性能也能得到保證,現在用下來效果還可以。

    ?

    posted on 2006-12-13 13:39 pesome 閱讀(3818) 評論(9)  編輯  收藏 所屬分類: 系統架構

    評論

    # re: 這次做portal的一些總結(二) 2006-12-13 16:43 ilikeJava

    集群問題比較高深,有沒有系統的介紹的文章  回復  更多評論   

    # re: 這次做portal的一些總結(二) 2006-12-13 21:05 lala

    was和wps都有部署腳本的,支持jacl和xmlaccess,6.0開始還支持Jython寫部署腳本。  回復  更多評論   

    # re: 這次做portal的一些總結(二) 2006-12-15 09:39 pesome

    就是可以通過腳本一次部署到多臺服務器上的?好像不錯啊  回復  更多評論   

    # re: 這次做portal的一些總結(二) 2007-01-03 10:48 guoyumin

    分布式cache 很多開源的cache都支持,本身機制也不復雜。
    不過注意在多臺機器之間傳播cache數據總不是一個好主意,一般建議只傳播invalidate事件。

    cache在數據庫中的機制不太明白,能具體點?

      回復  更多評論   

    # re: 這次做portal的一些總結(二) 2007-01-03 22:10 pesome

    呵呵,數據庫機制就是把數據存入數據庫,然后每臺機器到數據庫去取,這比較適合數據量不是太大且更新不頻繁的場合。  回復  更多評論   

    # re: 這次做portal的一些總結(二) 2007-01-05 14:56 bai

    數據量不大,為什么還要用數據庫機制呢,直接用內存cache不就可以嗎?難道你的意思是數據量不大,但是比內存還是要大嗎?  回復  更多評論   

    # re: 這次做portal的一些總結(二) 2007-01-05 17:27 pesome

    因為使用集群,而且要保持多臺機器的同步。  回復  更多評論   

    # re: 這次做portal的一些總結(二) 2007-03-23 16:37 StormSpire

    關于cache:
    放入數據庫有個問題,就是不能很方便的放入JAVA OBJECT,而只是些ID,值什么的。

    集群:
    不建議更新集群管理下的任何一個服務器,要更新只能更新master,就是ND上的。配置上的東西,很有可能被master上的沖掉,不穩定  回復  更多評論   

    # re: 這次做portal的一些總結(二) 2007-03-26 10:31 pesome

    @StormSpire
    同意,我后來是都改,這樣保險,呵呵!  回復  更多評論   

    <2006年12月>
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    導航

    統計

    公告

    主要記錄作者在學習java中的每一步足跡。除非特別說明,所有文章均為本blog作者原創,如需轉載請注明出處和原作者,如用于商業目的,需跟作者本人聯系。
    歡迎大家訪問:

    常用鏈接

    留言簿(16)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    java技術

    人間百態

    朋友們的blog

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费a级毛片无码a∨蜜芽试看 | 中文字幕在线观看亚洲视频| 中文字幕在线免费视频| 亚洲av午夜成人片精品电影| 在线亚洲v日韩v| 国产一精品一aⅴ一免费| 亚洲6080yy久久无码产自国产| 午夜私人影院免费体验区| 亚洲中文无码永久免| 国产成人高清精品免费软件| 国产精品自拍亚洲| 亚洲精品无码99在线观看 | 国产一级淫片a免费播放口之 | 最新国产乱人伦偷精品免费网站| 中文字幕亚洲无线码| 精品在线免费观看| 亚洲国产成人精品久久| 免费看的一级毛片| 污视频网站在线免费看| 亚洲AV永久无码精品水牛影视| 99久久免费中文字幕精品| 日韩亚洲国产综合高清| 国产成人青青热久免费精品| 中文字幕无码免费久久9一区9 | 亚洲乱码一区二区三区国产精品| 国产真实伦在线视频免费观看| 色多多免费视频观看区一区| 亚洲天堂在线视频| 伊人久久免费视频| 亚洲AV综合色区无码一二三区 | 日韩在线视频免费| 国产亚洲精AA在线观看SEE| 91香蕉国产线观看免费全集| 久久亚洲国产成人影院| 亚洲中文无韩国r级电影| 97青青草原国产免费观看| 亚洲第一综合天堂另类专| 亚洲乱码中文字幕久久孕妇黑人| 男人进去女人爽免费视频国产| 亚洲一区二区三区高清不卡| 久久精品国产亚洲精品|