Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
This is a timely talk because of what happened with Gamestop/Robinhood, introducing a case of a high-frequency trading app like Robinhood, built on top of Rails, and how it proves it can scale, managing not only over a complex HTTP API but also communicating over an internal protocol TCP with one New York Stock Exchange server by making use of Remote Procedure Calls (RPC) with RabbitMQ to be able to manage transactional messages (orders). So, how can we make use of Rails to deliver a huge amount of updates (through WSS) and have solid transactions (through HTTPS)?
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
This video, presented by Martin Jaime at RailsConf 2021, explores how to utilize Ruby on Rails to develop a high-frequency trading application that communicates with the New York Stock Exchange (NYSE). The talk emphasizes the importance of building real-time applications capable of processing a vast number of updates while ensuring reliable transactions. Key points discussed include: - **Introduction of Trading Principles**: The presenter begins by explaining the concept of trading on the stock exchange, emphasizing the need for real-time applications that can handle price changes rapidly. - **Architecture Overview**: A message-based architecture is proposed to manage communication between the Rails application and the NYSE's middleware, including the necessity for TCP connections over HTTP. - **Integration of RabbitMQ**: The application leverages RabbitMQ to efficiently handle messages and ensure transactions are processed successfully, highlighting the importance of message queues to maintain system performance. - **Handling Real-time Updates**: An emphasis is placed on managing stock updates efficiently, where the system needs to reduce the frequency of messages sent to the front end due to rapid price changes. - **Risk Mitigation Techniques**: Various techniques for risk management are described, including the use of active model validations for incoming and outgoing messages, along with robust logging to track issues. - **Feature Flags and Testing**: The implementation of feature flags using a gem called Flipper allows safe deployment and further testing of new features in different environments without risking system stability. - **Importance of Automated Testing**: Jaime stresses the necessity of a comprehensive automated testing framework to ensure that the application maintains reliability and stability during updates and deployments, preventing potential catastrophic failures, as illustrated by a cautionary tale of a similar app that went bankrupt. In conclusion, Martin Jaime highlights that by using Rails and various techniques such as message validation, RabbitMQ for message handling, and rigorous testing procedures, they were able to build a scalable, reliable trading application capable of managing the complexities of high-frequency trading. The key takeaway is the importance of not only building features but also ensuring operational integrity through effective architecture and robust testing strategies.
Suggest modifications
Cancel