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

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

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

    wuxiren123

    Linux之FineBI集群部署

    在企業(yè)應用中,通常單個計算機的配置是有限的,而企業(yè)應用又是高并發(fā)的需求,這個時候會通過計算機集群的方式來提高并發(fā)數(shù),從而提高整體應用服務的性能。集群是將多臺計算機作為一個整體來提供相關應用的服務。FineBI支持多計算機服務的集群部署,通過集群部署利用有限的計算機資源來有效提高整體應用的并發(fā)性能。本文主要介紹整體FineBI集群的思路。

    FineBI采用負載均衡集群的模式,將多臺服務器創(chuàng)建為一個集群服務器。這里碰到這幾個問題:1)web工程的存儲問題:FineBI在集群中,由于自身的問題需要多臺服務器讀取同一個web工程。因此要實現(xiàn)web工程分享。2)系統(tǒng)數(shù)據一致性:在FineBI的運行過程中,存在讀寫的操作,同時有部分的數(shù)據的配置文件要寫入數(shù)據庫。需要保證集群的情況下,系統(tǒng)數(shù)據的一致性。3)負載均衡:一方面通過負載均衡來處理session的問題,另一方面達成負載均衡的集群環(huán)境,使用代理服務器可以將請求轉發(fā)給集群內部的服務器,可以將負載均衡和代理服務器的高速緩存技術結合在一起,提供有益的性能。4)FS平臺集群:如FineBI使用FS平臺,則FS平臺的各種配置也需要進行集群配置。

    如下圖是一個FineBI進去的架構的案例示意圖,這種方式通過NFS文件共享來處理web工程。



     

    Web工程存儲問題

    Web工程的存儲,我們要解決的是多個服務器保證讀取同一個web工程。我們可以通過ceph做到多塊物理硬盤組件一塊邏輯硬盤,從而實現(xiàn)所有節(jié)點都是在訪問同一地址;也可以通過linux本身帶有的nfs共享文件服務來達成訪問同一web工程。無論使用哪一種方式,我們要保證:

    <!--[if !supportLists]-->1)<!--[endif]-->訪問同一web工程

    <!--[if !supportLists]-->2)<!--[endif]-->Cube存儲地址是一致的

    因為同一個web工程下,要求cube的存儲地址是一致的,因此要求cube存儲地址一定要一樣。

    而真正使用的時候,ceph的實現(xiàn)需要至少三臺計算機來實現(xiàn),而實際企業(yè)應用中,比較少使用三臺;而nfs均可以且是linux本身的,因此使用“nfs”方案。

    系統(tǒng)數(shù)據配置

    單節(jié)點的情況下,利用緩存和通過操作系統(tǒng)的文件系統(tǒng)來保存數(shù)據的方式,在集群模式下不再合適。主要原因在于數(shù)據的一致性問題,多個節(jié)點可能進行同時讀寫,更改系統(tǒng)數(shù)據,最終勢必會造成整體數(shù)據不一致。最好的解決方案是系統(tǒng)配置數(shù)據全部交給MySQL等關系型數(shù)據庫來管理。但由于這樣工程量好大,更主要的原因為許多代碼缺少維護,貿然更改可能帶來意想不到的bug。于是我們采用一種折中的做法。在集群中選出一臺幾點作為主節(jié)點,簡稱M。其余節(jié)點擔當子節(jié)點,簡稱S。當S上所有與更改系統(tǒng)配置相關的操作,全部發(fā)送到M上進行處理。M負責來更改系統(tǒng)狀態(tài),維護整個系統(tǒng)到底一致的狀態(tài)。S節(jié)點放棄全部的緩存數(shù)據,讀取狀態(tài)的時候,不再通過讀取自身數(shù)據,而是通過向M發(fā)送讀取請求,獲得M上的數(shù)據。M節(jié)點自身可以存在緩存數(shù)據。其他數(shù)據S節(jié)點與M節(jié)點時等同的,不存在從屬關系。



     

    因此按上述原由我們提供如下解決方案:

    <!--[if !supportLists]-->1)<!--[endif]-->mysql數(shù)據庫:原web工程中存在finedb的配置信息轉存到mysql數(shù)據庫中。因為finedb數(shù)據庫只能有一個連接,無法多節(jié)點同時讀取,而mysql數(shù)據庫則不存在。Logdb也需遷移;

    <!--[if !supportLists]-->2)<!--[endif]-->主子節(jié)點:我們使用主子節(jié)點的方式來配置集群,系統(tǒng)數(shù)據的更改均在主節(jié)點上進行,子節(jié)點只讀取主節(jié)點上的數(shù)據;

    <!--[if !supportLists]-->3)<!--[endif]-->Zookeeper:為了保證讀寫情況下,主子節(jié)點保證數(shù)據一致性,還需要zookeeper進行通信,充當文件鎖的功能。

    負載均衡

    在FineBI的集群環(huán)境中,我們可以使用任何支持負載均衡的服務器來完成輪發(fā)的任務,并保證session粘滯。此處我們使用的是nginx反向代理,使用IP標識輪發(fā),保證同一個用戶在同一個session。(在一個服務器一個節(jié)點的情況下,同一個IP就保證session粘滯)。

    FS平臺集群

    使用FS平臺集群插件,將FS平臺配置能夠滿足集群需求。在FS平臺集群中,F(xiàn)S平臺的所有操作都是發(fā)到主節(jié)點上來操作;子節(jié)點只是作計算服務器。

    posted on 2017-03-20 11:30 喝水居然長肉 閱讀(138) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲AⅤ男人的天堂在线观看| 亚洲午夜无码久久| 国产A在亚洲线播放| 亚洲午夜成激人情在线影院| 日韩亚洲人成网站| 免费无码又爽又刺激高潮视频| 免费人成在线视频| 日本亚洲国产一区二区三区| 亚洲伊人久久大香线焦| 亚洲一区免费视频| 中文字幕在亚洲第一在线| 精品亚洲成A人无码成A在线观看| 一级毛片a免费播放王色电影 | 一级毛片在线完整免费观看| 99ee6热久久免费精品6| 亚洲精品白色在线发布| 免费视频成人手机在线观看网址| 日韩一级在线播放免费观看| 无码欧精品亚洲日韩一区| 一级毛片免费观看不收费| 亚洲中文字幕伊人久久无码| 亚洲AV永久无码精品网站在线观看| 大学生高清一级毛片免费| 亚洲国产精品成人精品小说| 免费人成在线观看网站| 亚洲不卡1卡2卡三卡2021麻豆| 蜜臀91精品国产免费观看| 亚洲综合偷自成人网第页色| 777爽死你无码免费看一二区| 久久九九亚洲精品| 曰批全过程免费视频播放网站 | 亚洲精品国产精品乱码视色| 无套内射无矿码免费看黄| 国产2021精品视频免费播放| 亚洲人成网站999久久久综合| 野花高清在线观看免费3中文| 亚洲国产日韩在线成人蜜芽| 国产免费观看a大片的网站| 亚洲国产精品成人AV在线| 无码视频免费一区二三区 | 日韩在线视精品在亚洲|