Здравствуйте, Sharov, Вы писали:
C>>Обычно запрос посылается сервису, который имеет карту шардов и сам разбирается куда надо перенаправлять запись. S>А можно про это подробнее почитать, ссылки и т.д.? Значит этот сервис будет заниматься консенсусом, хотя бы будет отслеживть кто живой.
Да, сервис-маршрутизатор должен знать какие хранилища отвечают за определённые диапазоны ключей (шарды). Но обычно это очень небольшой и достаточно статичный объём информации.
S>В любом случае, запись, после которой вернется новый контекст с шардами, будет, кмк, крайне долгой. Ну или этот сервис будет давать не 100% инф-ию, т.е. некоторые шарды
Почему запись будет долгой? Маршрутизатор принимает команду "запихать значение A по ключу B и значение С по ключу D", разбрасывает их на соответствующие шарды (скажем, "L" и "N") и ждёт их ответа, возможно с таймаутом. Потом возвращает результат (возможно, что частичный) клиенту.
Так как в задаче не требуется транзакционная целостнось или гарантии идемпотентности, то больше ничего и не надо.