richardartoul / nola

MIT License
74 stars 6 forks source link

erlang actors in golang #46

Closed gedw99 closed 1 year ago

gedw99 commented 1 year ago

https://github.com/ergo-services/ergo https://github.com/ergo-services/examples

Its got some cool things ... Its a physical actors system with supervisor trees etc.

NATS and Ergo seem highly complimentary.

For example https://github.com/ergo-services/examples/tree/master/cloud is very like what you woudl do with NATS.

In Nats you setup a stream ( control plane ) and at the same time assign the security aspects of who can use that stream.
In ergo its not there yet. Ergo does not have these aspects.

nerdsane commented 1 year ago

I came across this recently. Erlang style actor systems in Rust. https://github.com/slawlor/ractor

SabraBlandonZkR commented 1 year ago

It's interesting to hear about the cool features of the physical actors system with supervisor trees. It seems like there could be some potential synergy with NATS and Ergo, as they both have similar use cases. While NATS has the advantage of being able to set up a stream with assigned security, it's important to note that Ergo is still in development and may not have that functionality yet. It will be interesting to see how these technologies evolve and work together in the future.

gedw99 commented 1 year ago

Nola has virtual actors . It’s great

I wanted to exlore adding crdt with molecule.

nat then provides the transport

Crdt is all about offline mutability . They converge when they can connect over the network .

nats allows changes to be published and consumed. You can’t guarantee ordering if mutations.

Nats will eventually catchup .

So a crdt will eventually catchup thanks to nats .

in addition nats has Leaf nodes so that your Edge can compute with CRDT and then reconcile with others CRDTs over in other edges or clouds.

gedw99 commented 1 year ago

Nats treats endpoints and routes as virtual.

you declare a virtual stream with a topic hierarchy just like a router and namespaces.

The control plane is where you hook up to physical layer .

nats has a fully virtual security model too.

it’s interesting that it might align well with Nola.

gedw99 commented 1 year ago

It would remove the dependency on Foundation db and allow more use cases for Nola.

I run NATS Inside Browsers,IOT devices and of course Servers.

The NATS server runs on any desktop or Server.

richardartoul commented 1 year ago

Closing this for now since there is nothing actionable