How the Qurrex gateway can support vertical/horizontal scalability?
Each Qurrex gateway to the core of CEX is a multi-threaded service, and each thread has its message loop, which can process many client connections. There are two types of gateways optimized for good scalability for supporting vast number of connections and optimized for low latency for less number of HFT clients. Gateway services can be connected to Matching or Risk Engines using many-to-many relationship using Qurrex Routing Logic components and can reside both at the same or at different compute nodes, providing horizontal scalability.
Vertical scaling. Each middleware microservice can be hosted on a separate server. Each database (presently middleware owns 4 database schemes: configuration, dealing, market data and statistics) can also be hosted on a separate server.
Horizontal scaling. The dealing microservice deals with the highest payload among other microservices. The service processes trading orders and performs basic risk management. The payload grows with the growth in end customers numbers. The dealing microservice can be installed several times on several servers while the payload is being balanced evenly (as a function of trading account identificator). Load balancing function is updated on plugging / unplugging one of the dealing microservices with downtime less than 1 minute.
Ok, got it! Thank you.