Scalability
Last updated
Was this helpful?
Last updated
Was this helpful?
Making an enterprise solution requires building for scale. The software has to be scalable and quickly react to handle any sudden increase in data being transferred or actions being performed on the system. Sine implements multiple scalability tools such as:
Docker Swarm: It provides a solid mechanism that makes sure that the specified number of replicas of a service is (almost) always running.
Prometheus: Scrapes metrics and fires alerts when certain thresholds are reached.
Docker Flow Monitor: It extends Prometheus with the capability to auto-configure itself.
Alert manager: Receives alerts from Prometheus and forwards them to some other service.
Jenkins: Executes scheduled or triggered jobs. Shine uses it as the engine that will help to scale a service.
Docker Flow Proxy: It extends HAProxy with capability to auto-configure itself.
Docker Flow Swarm Listener: Listens to Swarm events and sends notifications when a service is created or updated.
In simple terms throughput is knowing "what is the maximum amount of water that can flow through the pipe", in this case it's the maximum number of transactions that can flow through the system. In an ideal case the Shine blockchain can achieve upto 10000 TPS (transaction per second). With proper metadata optimization, this is enough to handle all of Shine's use cases.
Note: In above runs validation and production nodes were running on the same server.