Mind the gap, connecting high performance systems at a leading Crypto Exchange @ Spring I/O 2024

Spring I/O
27 Jun 202440:45

Summary

TLDRThe video script discusses high-performance system development using the JVM and Spring Framework, focusing on the unique challenges of building and maintaining a crypto exchange platform. It emphasizes the need for open-mindedness when traditional software development practices don't apply in high-performance contexts. The speakers, from Bitvavo, Europe's largest crypto exchange, share insights on system architecture, low-latency techniques, and the importance of real-time processing in a 24/7 business environment. They also touch on optimizing JWT token signing and the use of Azul Systems' Zing JVM for improved performance and stability.

Takeaways

  • 🕒 The speaker emphasizes the importance of being open-minded about software development practices, especially when it comes to developing high-performance systems using the JVM and integrating them with the Spring framework.
  • 🚀 The session is about discussing high-performance systems, microsecond performance, and the impact on the rest of the organization, highlighting the need for systems to keep up with high throughput and low latency requirements.
  • 🏢 The speakers introduce Bitvavo, a leading crypto exchange in Europe, based in the Netherlands, which is fully compliant with regulatory requirements and offers a simple trading platform for various types of customers.
  • 🔑 Marcos Meer, originally from Brazil, and Lars Wiman, a Dutch native, share their backgrounds in fintech, investments, trading, and startups, emphasizing their passion for fast-paced development environments.
  • 📈 Bitvavo's architecture is based on a Kafka broker for domain integration, using REST or gRPC for performance-critical integrations, and standard technologies like Spring Boot and TypeScript for other domains.
  • 🚫 The speakers discuss the need to avoid certain practices for low-latency systems, such as removing databases from the critical path, using in-memory data handling, and avoiding Kubernetes for the 'hot path' of the system.
  • 🔄 Techniques for optimizing performance include using in-memory data structures, inter-process communication (IPC), UDP for network communication, and dual network card machines for bypassing the kernel with DPDK.
  • 💡 The concept of a distributed state machine is introduced, where everything is processed in a single thread to ensure deterministic output and avoid the complexities and overhead of multi-threading.
  • 🛑 The importance of zero garbage collection (GC) in the hot path is highlighted, with pre-allocation and reuse of objects to maintain a flat memory usage and avoid GC pauses.
  • 🔧 The use of an open-source framework called 'LMAX' for the order flow, which provides a high-performance messaging system with constructs similar to Kafka, is explained to simplify the implementation of low-latency techniques.
  • 🔒 Security and optimization are key in signing JWT tokens, where Bitvavo achieved a 30X performance improvement by using symmetric encryption and avoiding asymmetric encryption due to the trust in their client environment.
The video is abnormal, and we are working hard to fix it.
Please replace the link and try again.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This

5.0 / 5 (0 votes)

Related Tags
JVM PerformanceSpring FrameworkFintech SolutionsSoftware DevelopmentSystems OptimizationCrypto ExchangeLow LatencyDistributed SystemsIn-Memory ProcessingTech Optimization