Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
The fiber scheduler presents new opportunities for building scalable and concurrent Ruby programs. However, Rails has traditionally been a request-per-process or request-per-thread framework. We will give a brief introduction to the fiber scheduler, and look at how we are evolving Rails and Ruby in general to take advantage of request-per-fiber using Falcon.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the RubyConf AU 2023 talk titled "Asynchronous Rails" by Samuel Williams, the focus is on leveraging Ruby's fiber scheduler to enhance the scalability and concurrency of web applications built with Rails. The presentation begins with a real-world problem encountered during a database migration where a table with 2 billion records needed alteration. Traditional synchronous execution in PostgreSQL posed a risk of extensive downtime, highlighting the need for efficient system properties such as efficiency, responsiveness, and robustness. Williams introduces asynchronous execution by contrasting it with synchronous execution, explaining how operations can be interleaved to minimize overall execution time. He defines two methods of executing multiple jobs: parallel execution, where distinct processing units handle independent jobs, and concurrent execution, which optimizes the use of a single core by interleaving tasks. Key points discussed include: - **Asynchronous Advantages**: Enhancing performance and application design by enabling multi-user experiences and real-time updates. - **Ruby Enhancements**: The introduction of native coroutines and fiber allocations made Ruby more efficient in handling concurrent tasks without necessitating code changes. - **Rack 3 and Streaming**: The latest version of Rack facilitates bi-directional streaming, which is essential for asynchronous operations, thereby improving interactivity and reducing latency in web applications. - **Integration with Rails**: The upcoming Rails version 7.1 is set to support these advancements, allowing developers to take advantage of improved scalability without needing significant changes to existing applications. The speaker emphasizes that the fiber scheduler lays a powerful foundation for building asynchronous applications and that the changes in Rack 3 allow for easier implementation of features like WebSockets and streaming of real-time data. Williams invites the audience to explore these new capabilities and expresses excitement about the future of asynchronous programming in Rails. In conclusion, he urges attendees to leverage these enhancements to create innovative Rails applications that can efficiently handle concurrent operations and improve user experiences.
Suggest modifications
Cancel