关于RabbitMQ集群分区的通知
如果您在集群中運行RabbitMQ,則集群不太可能會被分區 (集群的一部分失去與其余部分的連接)。 上面的鏈接頁面介紹了顯示狀態和配置行為的基本命令。 當發生分區時,您首先希望得到通知,然后再解決它。
RabbitMQ實際上使用cluster_partition_handling配置自動處理第二個。 它具有三個值:ignore,pause_minority和autoheal。 上面鏈接的分區指南也對此進行了說明(“我應該選擇哪種模式?”)。 請注意,無論您選擇什么,都遇到問題,必須恢復連接。 例如,在前一講的多可用區設置中,最好使用pause_minority然后手動重新連接。
幸運的是,檢測分區非常簡單。 如果沒有分區,那么status命令將有一個空的“ partitions”元素,并且有一個非空的partitions元素,或者如果有分區,則根本沒有這樣的元素。 因此,此行進行檢測:
clusterOK=$(sudo rabbitmqctl cluster_status | grep "{partitions,\[\]}" | wc -l)例如,您可能希望將該腳本安排為每分鐘運行一次。 處理結果取決于您使用的工具(Nagios,CloudWatch等)。 對于Nagios ,實際上有一個現成的插件 。 如果是AWS CloudWatch,則可以執行以下操作:
if [ "$clusterOK" -eq "0" ]; thenecho "RabbitMQ cluster is partitioned"aws cloudwatch put-metric-data --metric-name $METRIC_NAME --namespace $NAMESPACE --value 1 --dimensions Stack=$STACKNAME --region $REGION elseaws cloudwatch put-metric-data --metric-name $METRIC_NAME --namespace $NAMESPACE --value 0 --dimensions Stack=$STACKNAME --region $REGION fi發生分區時,重要的事情會得到通知。 此后,它取決于特定的應用程序,問題,隊列的配置(耐用,鏡像等)。
翻譯自: https://www.javacodegeeks.com/2015/04/getting-notified-about-rabbitmq-cluster-partitioning.html
總結
以上是生活随笔為你收集整理的关于RabbitMQ集群分区的通知的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 库区备案法人拍照(库区备案)
- 下一篇: 怎样用linux如何分区(怎么在linu