Skip to content

Features

Davide Miceli edited this page Jan 28, 2019 · 1 revision

Features

The main features are:

  • Highly scalable
    • Each peer can be deployed, executed, and scaled up and down asynchronously and independently from the others peers. Peers can be runned as containers on different clusters handled by different container orchestrators (like Kubernetes, Mesos, etc).
  • Load balancing
    • Designed to support high data volumes, the blocks and the ledger are load balanced: the blocks are distributed between different peers that acts as a single one, sharing the same Kafka group id.
  • Resilient
    • Each peer is resistant to failures. If a peer service (or the node where it is running) falls, it can be immediately restarted on another node without (thanks to Kafka retention features) losing data and starting from where he had stopped.
  • Message driven
    • The network communication is Kafka based. The peers communicate with each other by exchanging messages asynchronously. Communication can be public or private.
  • Fast
    • Every block is propagated to the network and added to the ledger as soon as it was generated (if it was considered valid by the peers), so without any delay or emission at every defined time interval.
  • Lightweight
    • A chainode instance (a simple peer) is very lightweight: can be runned on cheap machines (like a Raspberry Pi, so as many docker containers on a single machine).
  • REST APIs
    • Every peer exposes web APIs to be handled more easily by other applications.
  • Web Console
    • Every peer exposes a Web Console UI for status monitoring, use, and general testing too.