paritytech / orchestra

A partial actor pattern with a global orchestrator.
GNU General Public License v3.0
27 stars 3 forks source link

question: how `partial actor pattern` compares to X #86

Closed dzmitry-lahoda closed 1 month ago

dzmitry-lahoda commented 2 months ago
drahnr commented 1 month ago

So orchestra is technically a set of microservices (=subsystems) within a binary, where each subsystem is responsible for scaling itself adequately to the sub-domain it covers, in practice this means using FuturesUnordered or dedicated threads. Note that orchestra has the concept of a signal that is essentially a global clock, defining relevance of actual work.

orchestra uses a lot of channels under the hood to facilitate communication between subsystems, so there is buffering invovled which disambiguates it from message passing and classical actor patterns. The reactor has a single driver, orchestra each subsystem consumes messages, so technically a multi-reactor.

tl;dr orchestra is a mix of all of the referenced, it's very domain specific and I have strong doubts it being useful outside of it's original domain.