yurial писал(а):
Если вы про "Все ноды имеют m связей с нодами каждой из групп." имеется ввиду следующее:
Нода будет иметь непосредственные соединения с нодой (-ами) каждой из групп, что позволит ей получить любые данные в пределах одного "хопа".
Тут не все так очевидно как кажется. Фактически, объем необходимой для хранения информации будет снижаться пропорционально количеству групп. Однако, при слишком маленьком размере группы система становится уязвимой. При выведении из строя такой группы часть информации в сети теряется. Что не очень хорошо.
Думаю, все-таки, нужно что-то более естественное.
Например, свою собственную информацию (источником которой является данный клиент) клиент хранит у себя очень долго. Возможно что для таких целей нужно создавать отдельное хранилище на клиенте, где будет храниться только она.
В кэширующем хранилище можно хранить данные, представляющие интерес для текущего клиента - данные по голосованиям и субъектам, к которым данный клиент имеет отношение. По идее, срок хранения в таком хранилище тоже должен быть относительно высоким.
Транзитное хранилище - вот тут уже можно гибко варьировать.
Кстати, раз уж поднялась эта тема, предлагаю еще раз использовать анонимные кэширующие/транспортные сервера. Они будут устанавливаться любым желающим без необходимости сложной настойки и будут выступать в качестве основных дублированных хранилищ и посредников для транспортного уровня. Тут главное то что для их установки нужно будет только их поставить и указать выделяемое для них место на дисках сервера.