Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
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 this video, titled "Issues with asynchronous interaction," Anna Shcherbinina, a backend developer at Tech 3D, discusses the complexities of asynchronous interactions between clients and servers, along with the implications for software architecture and infrastructure. She draws on her personal experiences and insights from working on a project called Code View Shape, which exceeded traffic expectations after a viral incident involving a 3D model. Key points discussed in the video include: - **Asynchronous vs Synchronous Requests**: The evolution of applications often starts with synchronous requests, which are straightforward but can lead to downtime. Asynchronous interactions can significantly improve responsiveness. - **Common Asynchronous Patterns**: Anna describes various asynchronous patterns, such as: - **Asynchronous interaction with a timeout**: Useful for time-sensitive actions like booking a flight where quick responses are essential. - **Asynchronous requests with a notification timer**: The client waits for either a timer to expire or a response, enhancing flexibility. - **Unsolicited notifications**: Clients receive updates without explicit requests, like bank alerts about credit availability. - **Scaling Strategies**: Anna emphasizes the need for multiple scaling methods: - **Vertical scaling** (upgrading hardware), - **Horizontal scaling** (duplicating servers), and - **Z-axis scaling** (partitioning data by user cases). Proper scaling prevents performance bottlenecks and downtime. - **Resilience and Monitoring**: Applications must have robust monitoring systems in place to identify problems early and ensure resilience against failures. Tools such as distributed tracing and log aggregation help maintain performance across instances. - **Importance of Collaboration**: Anna highlights that fostering communication within teams and continuous learning from failures are critical for improving application quality and team performance. Anna uses her experience with the Code View Shape project as an example of the challenges faced when scaling applications and emphasizes that developers must take responsibility for ensuring high-quality outputs, even in the presence of risks. In conclusion, Anna calls for developers to engage with communities, learn from experience, and evolve applications that thrive on asynchronous interaction patterns while maintaining user-friendly experiences even under adverse conditions. Her insights stress the importance of robustness, effective scaling, and proactive monitoring in modern software development.
Suggest modifications
Cancel