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

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

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

    隨筆 - 41  文章 - 7  trackbacks - 0
    <2016年7月>
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    原文:http://www.rabbitmq.com/production-checklist.html
    介紹
    像RabbitMQ這樣的數據服務經常有許多的可調參數.某些配置對于開發環境來說是意義的,但卻不適合產品環境. 單個配置不能滿足每種使用情況. 因此,在進入產品環境時,評估配置是很重要的. 這就是本指南提供幫助的目的.
    虛擬主機,用戶,權限
    Virtual Hosts
    在單租戶環境中,例如,當RabbitMQ在產品環境中只致力于為某單個系統服務時,使用默認虛擬主機 (/)是非常好的.
    在多租戶環境中,為每個租戶/環境使用單獨的虛擬主機,如:project1_developmentproject1_productionproject2_developmentproject2_production, 等等.
    用戶
    在產品環境中,刪除默認用戶(guest). 默認情況下,默認用戶只能通過本地來連接, 因為它有眾所周的憑證.為了不啟用遠程連接,可考慮使用帶有administrative權限和生成密碼的獨立用戶來代替
    強烈建議在每個程序中使用單獨的用戶,例如,如果你有一個mobile app, 一個Web app, 和一個數據聚合系統, 你最好有3個獨立的用戶. 這會使許多事情變得更簡單:
    • 使 client 連接與程序相關聯
    • 使用細粒度的權限
    • 憑據翻滾(如. 周期性地或遭到破壞的情況下)
    如果有許多相同應用程序的實例,有一個更好安全性權衡(每一個實例的憑據)和方便的配置(共享一些或所有實例之間的一組憑據)。物聯網的應用涉及很多客戶執行相同或相似的功能,有固定的IP地址,它可以使用X509證書或源IP地址范圍驗證。
    資源限制
    當消費者跟不上的時候,RabbitMQ 使用Resource-driven alarms (資源驅動報警)來壓制(throttle)發布者. 在進入生產之前評估資源限制配置是重要的。
    內存
    默認情況下, RabbitMQ會使用可用RAM的40%. 這專門針對于那些運行RabbitMQ的節點,通常情況下,提高此限制是合理的. 然而,應注意的是,操作系統和文件系統的緩存也需要內存來運行。如果不這樣做,會由于操作系統交換導致嚴重的吞吐量下降,甚至導致操作系統會終止RabbitMQ過程的運行。
    下面是一些基本的指導方針,用于確定推薦的RAM limit:
    • 至少有128 MB
    • 當RAM達到4GB時,可配置為75%的RAM限制
    • 當RAM達到4GB-8GB時,可配置為80%的RAM限制
    • 當RAM達到8GB-16GB時,可配置為85%的RAM限制
    • 當RAM大于16GB時,可配置為90%的RAM限制
    高于0.9的值是很危險的,不推薦配置
    可用磁盤空間
    必要的可用磁盤空間可防止disk space alarms.(磁盤空間報警) .默認情況下,RabbitMQ始終需要 50 MiB的可用磁盤空間.在大多數Linux發行者,根據開發者的經驗,可將放置到小分區的/var 目錄下. 然而,對于產品環境來說,這不是一個推薦值, 因為它們可能明顯的更高的RAM 限制. 下面是一些基本的指導方針,如何確定有多少空閑磁盤空間是推薦的:
    • 至少有2 GB
    • 當限制為1到8GB的RAM時,可配置為RAM限制的50%
    • 當限制為8到32GB的RAM時,可配置為RAM限制的40%
    • 當限制超過32GB的RAM時,可配置為RAM限制的30%
    rabbit.disk_free_limit 配置可通過 {mem_relative, N}來完成,使其相對于RAM限制的百分比來計算. 例如, 使用{mem_relative, 0.5} 設為50%, {mem_relative, 0.25}設為25%等等.
    打開文件句柄限制
    操作系統限制了并發打開的文件句柄的最大數量,其中包括網絡套接字。確保您的限制設置得足夠高,以允許預期數量的并發連接和隊列。
    對于有效RabbitMQ用戶,確保你的環境允許至少50K的打開文件描述符,包括開發環境。
    作為經驗法則,并發連接數的95%乘以2再加上隊列的總數可以計算出打開文件句柄限制( multiple the 95th percentile number of concurrent connections by 2 and add total number of queues to calculate recommended open file handle limit). 值高于500K也是恰當地,它不會消耗太多的硬件資源,因此建議在生產環境中設置. 查看Networking guide 來了解更多信息.
    安全注意事項
    用戶和權限
    查看vhosts, users, 和 證書章節.
    Erlang Cookie
    在Linux 和BSD 系統中, 有必要限制只有運行RabbitMQ和rabbitmqctl工具的用戶才能訪問Erlang cookie.
    TLS
    如果有可能,我們建議使用LS connections, 至少要加密通信. Peer驗證(身份驗證)也被推薦 . 開發和QA 環境可使用self-signed TLS certificates. 當RabbitMQ和所有程序運行在可信網絡或隔離(使用像VMware NSX技術)環境中時,自簽名證書可以應用于產品環境.
    雖然RabbitMQ試圖提供一個默認的安全TLS 配置 (如.SSLv3是禁用的), 我們推薦評估TLS 版本和密碼套件. 請參考TLS guide 了解更多信息.
    網絡配置
    產品環境需要調整網絡配置.請參考 Networking Guide 來了解細節.
    自動連接恢復
    某些client libraries, 例如 Java.NET, 和 Ruby, 在網絡失敗后,支持自動連接恢復.如果client提供了這種功能,建議使用它來代替你自己的恢復機制.
    集群化考慮
    集群大小
    當確定集群大小時,需要重點考慮下面的幾個因素:
    • 希望的吞吐量
    • 希望的復制( mirrors的數目)
    • 數據局部性
    因為客戶端可以連接到任何節點,RabbitMQ可能需要進行集群間消息路由和內部操作。嘗試使消費者和生產者連接到同一個節點,如果可能的話:這將減少節點間的流量。 使消費者連接到持有隊列的master上(可使用HTTP API進行推斷),也是有幫助的.當考慮到數據局部性時,總的集群吞吐量可以達到不平凡的量。
    對于大多數環境中,鏡像超過一半的群集節點是足夠的。建議使用一個奇數的節點(3,5,等等)的集群。
    分區處理策略
    在用于產品環境之前,挑選partition handling strategy 是很重要的. 有疑問時,使用theautoheal策略。
    posted on 2016-07-30 16:47 胡小軍 閱讀(1664) 評論(0)  編輯  收藏 所屬分類: RabbitMQ
    主站蜘蛛池模板: 国产99视频精品免费观看7| 亚洲色婷婷综合开心网| 在线观看免费a∨网站| 国产大片免费观看中文字幕| 伊人久久精品亚洲午夜| 亚洲av乱码一区二区三区香蕉| 亚洲av无码一区二区三区人妖| 你懂的网址免费国产| 97在线线免费观看视频在线观看 | 四虎影视免费永久在线观看| 国产亚洲婷婷香蕉久久精品| 亚洲av永久无码精品网址| 日韩成人免费aa在线看| 在线观看亚洲人成网站| 亚欧乱色国产精品免费视频| 成年女人视频网站免费m| 久久久久无码精品亚洲日韩| 亚洲aⅴ无码专区在线观看| 国产乱弄免费视频| 精品国产污污免费网站入口| 在线观看永久免费视频网站| 国产成人精品久久亚洲高清不卡 | sihu国产精品永久免费| JLZZJLZZ亚洲乱熟无码| 久久免费精品一区二区| 亚洲爽爽一区二区三区| a级毛片免费全部播放无码| 亚洲精品视频免费看| 久久青草免费91线频观看站街| 亚洲日本在线观看视频| 国产高清不卡免费视频| 亚洲小视频在线播放| 99在线免费观看视频| 亚洲AV无一区二区三区久久| 精精国产www视频在线观看免费| 亚洲爆乳无码一区二区三区| 91福利免费网站在线观看| 亚洲国产一区二区三区青草影视| 成人精品视频99在线观看免费| 亚洲av中文无码| 日本高清不卡中文字幕免费|