The podcast explores the use of virtual threads in the Helidon web server, focusing on experiences, lessons, and tips. It highlights the shift from traditional thread management to leveraging virtual threads for high concurrency and throughput. A key point is the transition from asynchronous, reactive programming to simpler blocking code enabled by virtual threads, which improves debuggability and maintainability without significant performance loss. The discussion covers the challenges of pinning, especially with synchronized blocks, and solutions like upgrading to Java 24 or using reentrant locks. It also addresses rate limiting, presenting various mechanisms such as Java semaphores, global concurrency limits, adaptive algorithms, and bulkheads to manage request flow effectively.
Sign in to continue reading, translating and more.
Continue