Подтверждение записи и согласованное чтение MongoDB
mongodb118-consistency-secondary-selection
Это строки реального запуска на синтетических документах. Своя коллекция после проверки удалена.
Наблюдения этого запуска
Ниже сохранены политики чтения/записи, наблюдаемые документы и диагностические данные. Один узел не является испытанием отказоустойчивости. Случайные имена учебных объектов заменены подписями.
Строгая политика
{
"write": {
"w": "majority",
"journal": true,
"timeout_ms": 1500,
"default": false
},
"read": {
"level": "majority",
"default": false
},
"route": {
"mode": "secondary",
"tags": [],
"max_staleness_seconds": 90
}
}Разрешённый переход на primary
{
"write": {
"w": "majority",
"journal": true,
"timeout_ms": 1500,
"default": false
},
"read": {
"level": "majority",
"default": false
},
"route": {
"mode": "secondaryPreferred",
"tags": [
[]
],
"max_staleness_seconds": 90
}
}Ожидаемый отказ выбора
"MongoDB\\Driver\\Exception\\ConnectionTimeoutException"
Прочитанный товар
[
{
"_id": 601,
"sku": "CUP",
"price": 550
}
]Границы
{
"members": 1,
"secondary_count": 0,
"server_selection_timeout_ms": 700,
"failover_test": false,
"replication_lag_measured": false
}PHP 8.5.11; mongodb 2.5.5; MongoDB 8.0.34.