Gossip-протоколы — различия между версиями
м (rollbackEdits.php mass rollback) |
|||
Строка 1: | Строка 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Категория: Параллельное программирование]] | [[Категория: Параллельное программирование]] | ||
'''Gossip-протоколы''' — семейство протоколов, которые позволяют обеспечивать eventual consistency в распределённой системе. | '''Gossip-протоколы''' — семейство протоколов, которые позволяют обеспечивать eventual consistency в распределённой системе. |
Текущая версия на 19:32, 4 сентября 2022
Gossip-протоколы — семейство протоколов, которые позволяют обеспечивать eventual consistency в распределённой системе. В CAP-теореме они жертвуют согласованностью, получают доступность и устойчивость к разделению.
Основная идея: узлы распространяют информацию об изменениях друг другу по мере возможности, причём не только самостоятельно добавленные изменения, но и то, что услышали от других узлов (слухи, gossip). Тогда при отсутствии сбоев рано или поздно все узлы обо всём узнают. Разумеется, могут появиться конфликты, их надо как-нибудь решать. Можно либо спускать эту задачу на уровень приложения (Amazon Dynamo), либо использовать специальные конструкции для распространения слухов вроде CRDT, которые не допускают конфликтов по построению.
Точные протоколы общения процессов и распространения слухов мы не разбирали и они, говорят, не так важны.