calumrussell / rotala

Backtesting engine written in Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Proto integration

calumrussell opened this issue · comments

commented

Original concept was to have a vertically structured backtesting engine due to the potential complexity doing something more horizontal with Rust's borrow checker.

Due to the requirements of the applications downstream, a horizontal structure that provides multi-language support seems to be a better choice.

The existing components will be separated from each other and communicate over rpc with proto messages. This provides horizontal scalability, would make it possible to swap components between languages based on perf requirements, and potentially validate use in production because the components would be actually distinct.

  • Create the proto files
  • Go through these interfaces and look for potential leakage of state between components in existing interfaces
  • Implement the proto components
commented

Mothballing. Implemented a clock and data source with gRPC/proto, performance make this unusable.