Live data from Hacker News

Bastion – Highly-available distributed fault-tolerant runtime

github.com

11–20 of 45 posts

Re: Bastion – Highly-available distributed fault-tolerant runtime

#12
post #7

I have hard time understanding what this is. Is an alternative to docker somehow? What other framework/platform would bastion compete with?

So did it. I didn't know if it was a service or a library or if it integrates with something. Looks like it's a library for Rust. I think mentioning Rust would speed up the understanding of where this sits

Yes. the title was changed which I wasn't aware of.

Origin title: `The missing part of actor-model programming in rust`.

Re: Bastion – Highly-available distributed fault-tolerant runtime

#13
How is runtime fault-tolerance achieved? My understanding of Erlang is that the BEAM VM implements these capabilities (custom threads, supervision, restarts, hot reload), but it is one level removed and above actual code. And they implement their own user-space threading runtime in order to support them. But in Rust, there is no such runtime (or is Bastion implementing one?) and it seems like this is used as a library. I'm very curious.

I think another way to frame my question would be: which is the basic unit of parallel execution in Bastion? A thread? Or a separate process? There are mentions of lightweight processes and subprocesses in the README but it is rather vague what these are.

Re: Bastion – Highly-available distributed fault-tolerant runtime

#14
post #7

I have hard time understanding what this is. Is an alternative to docker somehow? What other framework/platform would bastion compete with?

It provides a distributed actor runtime a la Erlang, but for Rust.

The Getting Started example gives some useful insights:

https://github.com/bastion-rs/bastion/blob/master/bastion/ex...

Re: Bastion – Highly-available distributed fault-tolerant runtime

#15
post #13

How is runtime fault-tolerance achieved? My understanding of Erlang is that the BEAM VM implements these capabilities (custom threads, supervision, restarts, hot reload), but it is one level removed and above actual code. And they implement their own user-space threading runtime in order to support them. But in Rust, there is no such runtime (or is Bastion implementing one?) and it seems like this is used as a librar…

Erlang's use of m:n threading is orthogonal to fault-tolerance (perhaps not inside the implementation, but conceptually).
Post reply on HN