#php #mongodb #mongodb-replica-set
#php #mongodb #mongodb-replica-set
Вопрос:
У нас есть набор реплик mongodb с 3 узлами (db01-03), работающий как набор реплик «rs0».
При получении информации о хостах через MongoClient::getHosts()
основной сервер ИНОГДА сообщается дважды, один раз как часть rs0, один раз автономно (так кажется?):
{
"db01.example.com:27017;rs0;...": {
"host": "db01.example.com",
"port": 27017,
"health": 1,
"state": 2,
"ping": 0,
"lastPing": 1475144757
},
"db02.example.com:27017;rs0;........": {
"host": "db02.example.com",
"port": 27017,
"health": 1,
"state": 1,
"ping": 0,
"lastPing": 1475144757
},
"db03.example.com:27017;rs0;.......": {
"host": "db03.example.com",
"port": 27017,
"health": 1,
"state": 2,
"ping": 0,
"lastPing": 1475144757
},
"db02.example.com:27017;-;.......": {
"host": "db02.example.com",
"port": 27017,
"health": 1,
"state": 1,
"ping": 0,
"lastPing": 1475143739
}
}
Почему это происходит, это намеренно / случайно или что-то, о чем мы должны беспокоиться?
Проблема в том, что наш мониторинг регулярно сравнивает «зарегистрированные хосты» с «ожидаемыми хостами», и с тех пор мы получаем предупреждения 4 !== 3
.
PS: Конечно, мы могли бы исправить предупреждения путем сравнения $actual<$expected
; это не вопрос, но:
Почему основной иногда отображается дважды?