Microservices Infrastructure
Features > Control > Microservices Infrastructure
Last updated
Features > Control > Microservices Infrastructure
Last updated
Flowdesk uses a microservices architecture to conduct market making activities. It forms the primary infrastructure that supports trading strategies and enables Flowdesk to aggregate data, process this data, and send it to exchanges for execution in a secure and robust way. In essence, it forms the backbone for all control features for clients.
The data collection process at Flowdesk involves gathering information from multiple sources to provide a comprehensive picture of our market-making feed. This includes the aggregation of public order information from the exchange, which provides details such as the quantity, depth, and price of orders, as well as the asset being traded. This information is crucial in helping to identify areas of high liquidity, trends in market sentiment, and potential opportunities for profitable trades. Additionally, Flowdesk collects private order information i.e. orders placed by Flowdesk itself.
Flowdesk also uses aggregation to reconcile its data on assets and to reconcile asset balances for clients. The final aggregation process involves collecting information on completed trades, which can be used to track trade performance and identify trends in the market.
Once the data has been collected and aggregated, it is processed through various microservices to generate valuable insights and inform trading decisions. The first step in this process is the generation of a stream of data points, or ticks, based on the aggregated data. These ticks provide real-time information on the performance of assets and can be used to inform trades.
The next data processing microservice calculates the price of a basket of assets using an in-house formula that takes into account the prices of digital assets on both CEXs and DEXs. In addition, Flowdesk is partnered with an oracle that retrieves prices on chain. This index can serve as a benchmark in informing trading strategies and decisions.
Risk management is a crucial aspect of market making at Flowdesk, and this microservice is responsible for assessing and mitigating potential risks in trades. This can include identifying and mitigating the impact of market volatility, as well as monitoring and managing exposure to certain assets. The trading feed is automatically disconnected when it is triggered, and we receive a live alert. The trading team can then decide the best action to be taken regarding the alert.
The final microservice — in terms of processing the data — is responsible for generating trades based on processed data, through which we are providing liquidity and creating orders, so that we are available for other market participants to enter trades against us. At the end of the process, our microservice sends the generated trades to the exchange for execution, ensuring that the trades are properly formatted and sent via the API.
In traditional monolithic architecture, a single large system is responsible for all the functionalities and the whole system needs to be deployed every time there is an update. This is time-consuming, expensive, and makes it difficult to modify the system. However, Flowdesk’s microservices architecture breaks down market-making applications into smaller autonomous services, making them easier to develop, test and deploy.
Improved data security as user-specific data can be migrated into shared storage and the ability to monitor data centrally leads to improved performance and user experience. This is particularly important in the crypto space where data security is a top priority.
Easier and more accurate API management. APIs are critical for connecting different microservices and ensuring they can communicate and exchange data effectively. With microservices architecture, our API systems can manage individual API requests, application requests, and web traffic more efficiently and accurately, leading to improved performance and user experience.
Better traffic management. By using traffic management systems, Flowdesk can autoscale processes by tracking service loads and adding or deleting service instances as needed. This improves the system's ability to handle heavy traffic and unexpected spikes in demand.
Improved monitoring and management of the system. Each microservice can be individually monitored, which enables the team to quickly identify and address any issues that may arise. With this approach, it becomes easier to identify the root cause of problems and to take the necessary steps to fix them in a timely manner. This improves the overall performance and reliability of the system.
More flexibility in terms of scalability and performance. With this approach, Flowdesk can easily scale up or down the number of instances of a particular microservice depending on the current demand. This allows for optimal usage of resources, and enables the system to handle high traffic.
Improved market efficiency and stability. By using microservices, Flowdesk is able to aggregate data, process it, and send it to exchanges for execution in a secure and robust way. This enables the company to effectively manage the liquidity of crypto tokens and provide advanced algorithms and techniques to improve market efficiency and stability.
Set of Microservices
Description
Aggregations to get data
Collects data on orders that are publicly visible on an exchange
Collects data on orders that are not publicly visible, such as those placed by Flowdesk
Tracks the balance of assets held by the firm
Collects information on completed trades
Processing the data
Generates a stream of data points, or ticks, based on aggregated data
Calculates the price of a basket of assets
Assesses and mitigates potential risks in trades
Generates trades based on processed data
Sending data to the exchange
Sends generated trades to the relevant exchange for execution