Head of Technology at Adonmo·

For such a more realtime-focused, data-centered application like an exchange, it's not the frontend or backend that matter much. In fact for that, they can do away with any of the popular frameworks like React/Vue/Angular for the frontend and Go/Python for the backend. For example uniswap's frontend (although much simpler than binance) is built in React. The main interesting part here would be how they are able to handle updating data so quickly. In my opinion, they might be heavily reliant on realtime processing systems like Kafka+Kafka Streams, Apache Flink or Apache Spark Stream or similar. For more processing heavy but not so real-time processing, they might be relying on OLAP and/or warehousing tools like Cassandra/Redshift. They could have also optimized few high frequent queries using NoSQL stores like mongodb (for persistance) and in-memory cache like Redis (for further perfomance boost to get millisecond latencies).

6 upvotes·1 comment·55.1K views
Akshay Srivastava
Akshay Srivastava
June 28th 2021 at 3:54PM

Thank you @Krishna for your valuable inputs. Yes, we too think of using Kafka+Kafka Streams and Redis.

Avatar of Krishna Chaitanya Bommakanti

Krishna Chaitanya Bommakanti

Head of Technology at Adonmo