Индивидуально контролируемое разбиение - PullRequest
0 голосов
/ 17 июня 2019

Я недавно отправил вопрос и получил полный ответ. Но я столкнулся с другой проблемой.

Сценарий дела такой же, как в моем недавнем вопросе .

Как настроить элемент на собственный ключ раздела?

например. DataCenterOnRussia ключ раздела всегда должен принадлежать member1, а DataCenterOnGermany ключ раздела всегда должен принадлежать member2.

Таким образом, member2 может запрашивать данные у DataCenterOnRussia, используя PartitionAwareKey.

1 Ответ

1 голос
/ 17 июня 2019

Назначение PartitionAwareKey - обеспечить соответствие данных ... заказы для клиента должны храниться в том же разделе, что и запись клиента, например, поскольку к ним часто обращаются вместе.

PartitionAwareKey позволяет группировать элементы вместе, но не позволяет указать размещение этих элементов на конкретном элементе кластера. (Я думаю, что если бы такое было, оно, вероятно, было бы названо MemberAwareKey).

Кластер в Hazelcast не является объектом фиксированного размера; он динамически масштабируется, поэтому элементы могут быть добавлены или удалены, и он является отказоустойчивым, поэтому элемент может быть потерян без потери данных, которые оказались на этом элементе. Для поддержки этих функций у кластера должна быть свобода перемещения разделов на разные машины при изменении топологии кластера.

Hazelcast рекомендует, чтобы все члены кластера были сконфигурированы одинаково (эквивалентная конфигурация памяти, особенно) из-за идеи, что элементы кластера являются взаимозаменяемыми, по крайней мере, в отношении хранения данных. (Средство MemberSelector предоставляет условия для обработки систем, которые имеют разные возможности обработки, например, количество ядер процессора; но ничего подобного не существует, чтобы разрешить размещение определенных записей или разделов данных на назначенном элементе).

Если ваш вариант использования требует определенного размещения на машинах, это указывает на то, что эти машины, вероятно, не должны быть частью одного кластера.

...