2/3 Then how you make it resilient, super-scalable, micro-second fast, ... it's all about art.
I spent quite sometime in developing @bitfinex 's one, via many iterations and experiments.
Now it's a beautiful beast, capable of incredible performance and powering several products!
-
-
Show this thread
-
3/3 Many exchanges rely on traditional databases to handle matching. This is why during peak market activity they won't perform well and throughput is heavily limitated. Of course it requires to develop custom fault-tolerance, resilience, ... but it's simply the only correct way.
Show this thread
End of conversation
New conversation -
-
-
That would be amazing
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
Would love to read it be day
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
This Tweet is unavailable.
-
A single symbol process can handle up to 350k orders/sec. We're improving towards 1M per process. Also having native sharding support let us scale horizontally in a cluster, giving almost infinite matching power.
- Show replies
-
-
-
Please do.
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
Imo optimize for cache locality. I.e. flat array data structure, linear search. The orderbooks aren’t big enough for trees to pay of. But maybe you have measured otherwise. I tend to come back tohttps://github.com/charles-cooper/itch-order-book …
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
What wire protocol do you prefer for internal event bus - JSON, Apache Arrow, proprietary? Lots of good options but parsing overhead could affect nano second latency!
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.