11. Microservice Architecture
Last updated
Last updated
Arcology is a high-performance and general-purpose blockchain ecosystem that naturally demands a flexible, scalable and loosely coupled system architecture. In Arcology, functional modules can be horizontally scaled and integrated into the existing framework in order to fully harness the computational power that the design offers.
We chose a microservice architecture for the following benefits:
Distributed computing: A node on Arcology network can be a group of commodity computers with different service modules connected by a high-speed network.
Horizontal scalability: At times of higher throughput, resources are easily added by simply connecting more servers to the group.
Loose coupling: Microservice architecture allows different services to be developed individually using the technology stack. This means that internal changes to one service are transparent to the others, making development, testing and deployment much easier.
Asynchronous communication: Every functional module is wrapped in a service; they communicate through a messaging system that increases modularity and throughput.
Scaling on demand: Node owners can fine-tune their system setup to meet specific needs on the fly. A typical use case is the transaction execution. One node usually comprises several transaction execution units deployed on different servers, working in parallel for maximum power for heavy workloads. When network demands are lighter, it’s more economical to employ fewer execution units.