如果是集群的話,我考慮需要流暢運行的話,2核4G配置是可以滿足的。因為這個集群形式,用于適用于物聯網、車聯網、監控、安全風控、即時通訊、消息存儲等行業場景,所以數據量是比較大的,所以配置太低了跑不動,會卡死的。
成都創新互聯是一家專業提供新羅企業網站建設,專注與成都做網站、成都網站建設、成都外貿網站建設、H5場景定制、小程序制作等業務。10年已為新羅眾多企業、政府機構等服務。創新互聯專業的建站公司優惠進行中。
因為hadoop是海量數據的處理能力,所以服務器一定不能太小配置了,跑不動了就沒實際用途了。最好使用4核8G內存及以上配置。
因為這方面內容較多,這里也寫不開那么多內容,所以你可以留言或到我的博客上搜索相關內容,老魏有寫過教程,還不止一篇,都挺詳細的內容,可以幫助你入門。
如果RabbitMQ集群只有一個broker節點,那么該節點的失效將導致整個服務臨時性的不可用,并且可能會導致message的丟失(尤其是在非持久化message存儲于非持久化queue中的時候)。可以將所有message都設置為持久化,并且使用持久化的queue,但是這樣仍然無法避免由于緩存導致的問題:因為message在發送之后和被寫入磁盤并執行fsync之間存在一個雖然短暫但是會產生問題的時間窗。通過publisher的confirm機制能夠確??蛻舳酥滥男﹎essage已經存入磁盤,盡管如此,一般不希望遇到因單點故障導致服務不可用。
如果RabbitMQ集群是由多個broker節點構成的,那么從服務的整體可用性上來講,該集群對于單點失效是有彈性的,但是同時也需要注意:盡管exchange和binding能夠在單點失效問題上幸免于難,但是queue和其上持有的message卻不行,這是因為queue及其內容僅僅存儲于單個節點之上,所以一個節點的失效表現為其對應的queue不可用。
為了提高程序的吞吐量,保持消息的可靠性,一臺機器掛了后,RabbitMQ能夠正常生產,消費消息。
rabbitmq有三種模式:單機模式,普通集群模式,鏡像集群模式
Demo級別的,一般只是本機測試玩玩而已,生產環境下不會用的。
在多臺機器上啟動多個rabbitmq實例,每個機器啟動一個。
但是你創建的queue,只會放在一個rabbtimq實例上,但是每個實例都同步queue的元數據(存放含queue數據的真正實例位置)。消費的時候,實際上如果連接到了另外一個實例,那么那個實例會從queue所在實例上拉取數據過來。
示意圖
這種方式確實很麻煩,也不怎么好,沒做到所謂的分布式,就是個普通集群。
普通集群的方式,確實達到了消息的高可用,但沒辦法保證可靠性,沒做到分布式,簡而言之,只是一個普通的集群。
這種模式,才是所謂的rabbitmq的高可用模式,跟普通集群模式不一樣的是,你創建的queue,無論元數據還是queue里的消息都會存在于多個實例上,然后每次你寫消息到queue的時候,都會自動把消息到多個實例的queue里進行消息同步。
上圖中每個節點有一個queue,生產者生產完畢數據后投遞到指定交換機的隊列,交換機的隊列進行消息同步。
每個節點queue都有一個完整的rabbitmq節點,所以這種方式叫做鏡像集群
好處: 任何一個節點宕機后,其它節點不受影響,正常使用
壞處:
確保機器中安裝了Docker,若未安裝,可看:【云原生】Docker入門 – 阿里云服務器Linux環境下安裝Docker
查看拉取的鏡像
成功運行
設置節點1
瀏覽器輸入 您的ip地址:15673
再次測試即可成功~
File — New — Project — Maven — 直接Next 進入下一步創建普通的Maven工程即可
創建一個默認的Maven聚合工程,將src文件夾刪除,該工程就是一個Maven聚合工程
引入依賴如下:
在項目內,新建一個Moudle,rabbitmq-order-producer 默認Maven工程,下一步即可
在項目內,新建一個Moudle,rabbitmq-order-cousumer 默認Maven工程,下一步即可
Maven聚合工程創建完成圖
Maven依賴圖
自行手寫MainApplication即可
創建完成!
編寫完成!
啟動消費者
交換機
=
15674
15675
成功消費數據!
已成功同步消息~
本文將以阿里云在GIAC的分享《云原生InfluxDB高可用架構設計》為例,剖析阿里云的自研InfluxDB集群方案的當前實現,在分析中會盡量聚焦的相對確定的技術、架構等,考慮到非一線信息,在個別細節上難免存在理解偏差,歡迎私聊討論:
0x0 初步結論
目前是一個過渡性質的公測方案,具備數據一致性,但接入性能有限,缺乏水平擴展能力。缺乏自定義副本數和水平擴展等能力,通過Raft或Anti-entroy提升了數據的可靠性,但受限于節點和副本的強映射,集群接入性能有限,約等同于單機接入性能,另外,基于時序分片和分布式迭代器等核心功能未提及,可能仍在預研中。
0x1 集群方案剖析
1. 背景補充:InfluxDB是DB-Engines上排名第一的TSDB,針對時序數據多寫、少讀、成本敏感等特點而設計的TSDB,并做了多輪架構迭代和優化,是一款實時、高性能、水平擴展(InfluxDB Enterprise)、具有成本優勢的TSDB。但在2016年,Paul Dix基于商業化和持久運營的考慮,尚未成熟的集群能力在v0.11.1版后,選擇閉源,推出了收費版的InfluxDB Enterprise和InfluxDB Cloud。
2. 通過Raft協議實現Meta節點的數據一致性,考慮到Meta節點存放的是Database/Rention Policy/Shard Group/Shard Info等元信息,這些信息敏感,是系統穩定運行的的關鍵,CP的分布式架構,合適。
3. 通過Raft協議實現Data節點的數據一致性,考慮到Data節點存儲的是具體的時序數據,性能和水平擴展性是挑戰,對一致性性要求不高(PPT中亦提到這一點),采用CP的分布式架構,節點和副本強映射,不僅對實時性有影響,集群接入性能亦有限,約等同于單機接入性能,不能很好的支持海量數據的實時接入的時序需求。
4. 2節點集群方案,通過Anti-entroy實現Data節點的數據一致性,應該還實現了Hinted-handoff能力,AP的分布式架構,但節點和副本還是強映射,未見提及基于時序分配、自定義副本數、分布式迭代器等能力,暫無法水平擴展。
5. 云盤能保障數據的可靠性,但無法保障接入的可用性,可用性敏感的業務或實時要求高的業務,還是推薦多節點的集群模式。
6. 開源版InfluxDB(單機)性能不錯,InfluxDB Enterprise性能不錯,但如何保障補齊集群能力的卓越性能,取決于集群架構、并發架構等,是由集群功能的開發者決定的,這次未見提及性能數據,期待后續的公布。
0x2 附錄
不建議用學生服務器來搭建CDH集群,跑不起來。買這個還不如去華為云買個搞活動的2C4G,一百出頭搞定
網頁標題:阿里云服務器搭建集群 阿里云服務器架設
鏈接分享:http://vcdvsql.cn/article22/ddsijcc.html
成都網站建設公司_創新互聯,為您提供外貿建站、網站設計、動態網站、網站排名、App開發、定制網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯