2. System Hierarchy

2.1. Node

A node is a combination of hardware and client software that function as an independent entity on Arcology network. For all other blockchains, a full node is usually a copy of client software installed on one machine, either physical or virtual.

An Arcology node could also mean a group of machines connected by high-speed networks with multiple instances of functional modules installed. These machines will function just like one, We use the term node and node cluster interchangeably. Arcology users have the freedom to customize node configurations based on their needs.

2.2. Client Software

An Arcology client is the software system supporting the functionality of a Arcology node.

2.3. Intra-Process Broker (Streamer)

Streamer is an event management system built for Arcology. It's built using the pub/sub pattern to work with multiple worker threads. A Streamer instance may also be connected to an inter-Process event broker (like Kafka) to handler event transmission across processes.

2.4. Inter-Process Broker (Kafka)

Arcology uses Apache Kafka to connect different Streamer instances.

2.5. Service

A service is a logical unit of worker threads connected by a Streamer instance. A service can be deployed, operated, and accessed independently. An Arcology node may possess multiple instances of the same services.

2.6. Worker Thread

A worker thread is a functional unit doing a specific job independently of other workers. Worker threads are connected one Streamer instance. A worker acts on a certain combination of events and may also generate some events and send them to the Streamer instance as well.

Last updated