Hydra Persisting Correlation

Meeting Overview

The meeting primarily addressed various aspects of the ongoing streaming project, with a critical focus on sprint demo planning and tasks associated with the project.

Questions and Clarifications

  • Initiated the discussion with a crucial question regarding the relationship between trade and trader within the Reactive Trader project. This question underlined the need for clarity on user interactions and data handling.

  • The team deliberated on the current operational model for trades, which is set to function with only one trader for the initial phase. This approach currently overlooks detailed user information, highlighting a gap needing attention in future updates.

  • Future iterations of the project will need to consider integrating detailed trader information to enhance the functionality and user experience in subsequent sprints.

Core Discussion Points

  • There was a consensus on the importance of incorporating trader information alongside trade data. This integration is expected to lead to more robust analytics and improved decision-making processes.

  • The discussion also included references to Hydro messages and the overall structure of the Reactive Trader repository, emphasizing the importance of maintaining states and correlation IDs to ensure that data is accurate and traceable.

  • One innovative idea proposed was to treat this project as a fork of existing code to leverage pre-established functionalities and improve overall system performance.

Sprint Demo Preparation

Scope Limitation:

  • For the upcoming demo, the scope has been limited to demonstrating the CLI client functionality, particularly the capability to create and remove currency pairs.

  • Time constraints are acknowledged, which prevent the full implementation of the streaming component in this iteration.

  • There was a clear directive to ensure the persistence of trade records, adhering strictly to regulatory requirements that necessitate long-term data storage and accessibility.

  • The team acknowledged that previous implementations may have favored UI display over maintaining lasting trade data storage, pointing toward a need for better data management practices moving forward.

Questions Regarding Collaboration and Code Management

  • The team engaged in discussions about the appropriate GitHub branch to commence development from, debating between the develop and careers branches.

  • Emphasis was placed on best practices for collaborative coding, particularly the strategies of forking and merging code changes through pull requests, which will help maintain code integrity and collaborative efficiency.

Code Integration:

  • Questions arose regarding the timeline for integration with the Hydro React Trader, leading to an agreement that a proof of concept is acceptable initially; not all features are required to be implemented at this stage.

Project Architecture Insights

Execution Service and Trade Service:

  • The meeting provided an explanation of how trade requests are processed, detailing the significance of asynchronous event handling within the application.

  • A distinction was made between request/response patterns and the streaming model, especially regarding how trades are communicated to the UI, a crucial detail for understanding system performance under varying load conditions.

  • The importance of asynchronous messaging in high-frequency trading environments was emphasized to ensure responsiveness and real-time data updates.

  • The discussion included clarifications on when to deploy streams versus request-response communication, highlighting the critical role of correlation IDs in this context.

Implementation Considerations

  • Suggestions were made on how to adequately maintain session states and manage correlation IDs, ensuring efficient and error-free operations.

  • Potential challenges were identified concerning how the system would respond to disconnects, particularly regarding whether the system should retain or purge IDs during such instances.

  • Additionally, questions were raised about the mechanism for notifying the UI of new currency pairs added via the admin service; strategies for efficient message broadcasting and managing client subscriptions were discussed extensively.

Final Thoughts

  • The meeting concluded with encouragement from the leadership for team members to develop a deeper understanding of the system's architecture and the flows of messaging involved.

  • A collective agreement was reached to dedicate the remaining time before the sprint demo to thorough preparation and continued discussions on overcoming identified implementation challenges.