Почему MAX_GROUP_SIZE равен 7 в подсистеме CP? - PullRequest
0 голосов
/ 20 октября 2019

public static final int MAX_GROUP_SIZE = 7;Группа CP состоит из нечетного числа членов CPM между 3 и 7.

Почему это 7? не больше?

1 Ответ

0 голосов
/ 21 октября 2019

Подсистема CP находится в реализации алгоритма согласования RAFT, который гарантирует согласованность даже в случае сбоев узла. Чтобы правильно реализовать RAFT, части подсистемы CP реализованы с синхронным поведением (где подобные функции в подсистеме AP могут быть реализованы асинхронно).

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

В результате ограничение размера кластера помогает поддерживать высокую производительность и низкую задержку. Если требуется больше узлов, подсистема CP позволяет конфигурировать несколько групп согласованности, каждая из которых может иметь от 3 до 7 узлов. Таким образом, общий размер подсистемы CP не ограничен;до тех пор, пока он разделен на группы консистентности контролируемого размера.

...