Користувач:Ubombi/Gossip протокол
Gossip protocol [1] (протокол пліток) - стиль протоколу комунікації комп'ютер-комп'ютер, натхненний плітками в соціальних мережах. Сучасні розподілені системи зазвичай використовують протокол gossip, щоб вирішити проблеми, які може бути важко вирішити у інший спосіб, або коли мережа має незручну структуру, є дуже великою, чи тому, що використання gossip є найефективнішим рішенням з наявних.
Термін epidemic protocol інколи використовується як синонім протоколу gossip, бо останній поширює інформацію способом, схожим на поширення вірусу.
Концепція gossip комунікації може бути проілюстрьована як аналогія офісних працівників, що поширюють чутки. Для прикладу кожної години вони збираються біля кулера. Кожен працівних ділиться плітками з іншим, вибраним випадково. Зранку Аліса починає нову плітку, що Чарлі фарбує вуса, і розказує її Бобу.Наступного разу Боб розкзує Дейву, а Аліса Єві. Після кожної зустрічі кількість людей подвоюється (не враховуючи повтори, коли Аліса спробує розказати історію Франку, лише дізнавшись, що Франк її чув від Дейва). Комп'ютерні системи зазвичай імплементовують протокол такого типу, як випадковий "вибір учасників": з заданою частотою, кожен комп'ютер випадково обирає іншого і ділиться з ним свіжими чутками.
Потужність протоколу полягає а надійному поширенні інформації. Навіть якщо Дейв не зрозуміє Боба, він, скоріш за все, знайде когось іншого, щоб дізнатись новини.
Виражаючи вищесказане в технічних термінах, gossip protocol повинен відповідати наступним випротоколумогам:
- Ядро протоколу передбачає періодичну парну, міжпроцесну взаємодію.
- Інформація, що при цьому передається, має обмежений розмір.
- Коли агенти взаємодіють, стан хоча б одного агента змінюється, щоб відобразити стан іншого.
- Надійна комунікація не передбачена.
- Частота взаємодії є низькоpeer selectionю в порівнянні з типовими затримками повідомлень, тому затрати протоколу є незначними.
- Наявна яка-небудь форма випадкового вибору учасників. Вони можуть вибиратись з повної множити, чи з підмножини сусідів.
- Неявна надмірність інформації, через реплікацію.
Існує три відомих бібліотеки, які реалізують алгоритм gossip, щоб виявити вузли в одноранговій мережі:
- Apache Gossip використовує UDP, написаний на Java, підтримка довільних даних і CRDT типів.
- gossip-python висористовує TCP стек, дозволяє обмін інформацією через побудовану мережу.
- Smudge написаний на Go і використовує UDP для обміну інмормацією про стан; також дозволяє поширювати довільні дані через побудовану мережу.
- ↑
{{cite journal}}
: Порожнє посилання на джерело (довідка)
[[Категорія:Розподілені обчислення]] [[Категорія:Мережева архітектура]]