tangle-accelerator icon indicating copy to clipboard operation
tangle-accelerator copied to clipboard

Introduce the Gossip protocol for fault tolerance

Open YingHan-Chen opened this issue 5 years ago • 1 comments

Description

If multiple Tangle-Accelerators can communicate and disseminate information, some features might be implemented. Gossip protocol might be a solution.

Redirect requests

If one TA could not handle receiving requests due to particular reasons, for example, the connecting IOTA service fails to respond. TA could ask other TA to process those requests.

Ensure the uniqueness of the reattach service

If we could make multiple TA be a cluster, the reattach service could be an optional feature(thread) of TA. One TA must pull the truth that no other TA is running the reattach service before starting the reattach service.

Progress

Is there a recommended library or implementation of the Gossip protocol that we can utilize?

YingHan-Chen avatar Jan 09 '20 14:01 YingHan-Chen

At first glance, I found the following implementations:

  • Pittacus: Its main goal is a data dissemination rather than membership management.
    • Allows to build a fully decentralized P2P cluster without a single server instance.
    • Utilizes UDP for the transport layer.
    • Very tiny and adjustable memory footprint.
    • Small protocol overhead.
    • The data spreading is pretty fast
    • distributed under the Apache License 2.0.
  • libtribe: C++ library for Group Membership and Failure Detection using gossip style protocol.
    • This project is using C++17 features extensively.

jserv avatar Jan 14 '20 17:01 jserv