3 ms·
Can someone elaborate use cases for this?
by spurdoman77 7y ago
Can someone elaborate use cases for this?
- sbarre 7y agoThere's a whole section in the repo for examples and use-cases https://github.com/bastion-rs/bastion/tree/master/bastion/examples https://github.com/bastion-rs/bastion/tree/master/bastion/ex...
- hopia 7y agoNot knowing anything about Rust, I would imagine similar as those of Erlang's. Basically when you need servers than communicate with each other.
- gavinray 7y agoTo provide context, understanding this requires a little bit of background knowledge about concurrency paradigms. In concurrent programming, there are a few mental models/approaches you can use to achieve it. Each of them have different "values systems" and tradeoffs, if you will. In a nutshell, you have: - Locks (Mutex/Semaphore) - Communicating Sequential Processes - Software Transactional Memory - Actor Model The Actor Model is a particularly powerful paradigm because it isolates processes and works via message passing and spawning. The reason why Erlang/Elixir are fault-tolerant is because of the BEAM's process model, any given process (more or lesss) can fail and it's not a problem due to isolation. What this library allows you to do is architect applications in ways such that they are much more resilient to failure and easier to scale out + parallelize/distribute. It doesn't have to be a networked application either, any code process can be an actor. It applies to any software. If you want a great overview of the Actor model, there are some slides here which do a fantastic job of illustrating it: https://cs.nyu.edu/wies/teaching/ppc-14/material/lecture10.pdf https://cs.nyu.edu/wies/teaching/ppc-14/material/lecture10.p...
- michael_j_ward 7y agoDo you have any good resources in learning more about these models / approaches?
- macintux 7y agoI’ve only skimmed this, but it seemed reasonable. https://pragprog.com/book/pb7con/seven-concurrency-models-in-seven-weeks https://pragprog.com/book/pb7con/seven-concurrency-models-in...