Я новичок в RabbitMQ, и у меня возникают проблемы при работе с кластером RabbitMQ.
Топология такая:
Сначала все в порядке. RabbitMQ node1 и RabbitMQ node2 находятся в кластере. Они связаны между собой подключаемым модулем RabbitMQ, называемым автокластером.
Затем я удаляю pod rabbitmq-1 с помощью kubectl delete pod rabbitmq-1
. И я обнаружил, что приложение RabbitMQ в node1 остановлено. Я не понимаю, почему RabbittoMQ остановит приложение, если обнаружит отказ другого узла. Это не имеет смысла. Это поведение разработано RabbitMQ или автокластером? Можете ли вы просветить меня?
Мой конфиг такой:
[
{rabbit, [
{tcp_listen_options, [
{backlog, 128},
{nodelay, true},
{linger, {true,0}},
{exit_on_close, false},
{sndbuf, 12000},
{recbuf, 12000}
]},
{loopback_users, [<<"guest">>]},
{log_levels,[{autocluster, debug}, {connection, debug}]},
{cluster_partition_handling, pause_minority},
{vm_memory_high_watermark, {absolute, "3276MiB"}}
]},
{rabbitmq_management, [
{load_definitions, "/etc/rabbitmq/rabbitmq-definitions.json"}
]},
{autocluster, [
{dummy_param_without_comma, true},
{autocluster_log_level, debug},
{backend, etcd},
{autocluster_failure, ignore},
{cleanup_interval, 30},
{cluster_cleanup, false},
{cleanup_warn_only, false},
{etcd_ttl, 30},
{etcd_scheme, http},
{etcd_host, "etcd.kube-system.svc.cluster.local"},
{etcd_port, 2379}
]}
]
В моем случае x-ha-policy включена.