Live data from Hacker News

.NET Orleans

dotnet.github.io

11–20 of 287 posts

Re: .NET Orleans

#12
post #4

EA/BioWare created an equivalent for some of their online services on the JVM: https://github.com/orbit/orbit

I wonder, what would it be worth to the world if there were an actor framework for multiple languages that offered interopability between languages? IIRC Akka.net and Akka aren't compatible with each other.

Re: .NET Orleans

#14
Orleans is awesome and the virtual aspect of the actor system is something that I have found to be missing from many alleged comparative libraries (Akka, Actix, etc.) It is really the key selling point: run an Orleans cluster and then you can forget about networking altogether (not entirely true, but truer than you may believe.)

Just don't make any bugs in your code or you're in for a headache.

The ergonomics of Orleans are so nice in fact, it inspired me to try to achieve a similar effect (any POCO can be invoked across the network) by using IL weaving. It worked, but it's SCARY.

Re: .NET Orleans

#15

How does it compare to Akka?

Having spent a lot of time with Orleans but very little on Akka, I believe the key difference is the "virtual" part. When you write Orleans code, the presumption is it will be executed on a remote machine, but you don't have to address that machine. The Orleans host does the work of actually assigning ownership of grains and distributing the load between silo nodes. So in your .NET code you simply have to instantiate…

That sounds a bit like Cadence/Temporal, the workflow programming platform. It doesn't really advertise itself as an actor framework, but it shares the concept of being able to run ordinary-looking functions as though they have a lifespan that isn't constrained to a single system or OS process.

Re: .NET Orleans

#17

Earlier quoted context omitted.

Having spent a lot of time with Orleans but very little on Akka, I believe the key difference is the "virtual" part. When you write Orleans code, the presumption is it will be executed on a remote machine, but you don't have to address that machine. The Orleans host does the work of actually assigning ownership of grains and distributing the load between silo nodes. So in your .NET code you simply have to instantiate…

That sounds a bit like Cadence/Temporal, the workflow programming platform. It doesn't really advertise itself as an actor framework, but it shares the concept of being able to run ordinary-looking functions as though they have a lifespan that isn't constrained to a single system or OS process.

That sounds similar in concept, yeah. The brilliance of Orleans was doing it without introducing a new way of coding.

Re: .NET Orleans

#19
post #7
post #2

> It was created by Microsoft Research and introduced the Virtual Actor Model as a novel approach to building a new generation of distributed systems for the Cloud era. Okay, sounds like an academic, Microsofty take on Erlang's Actors? But from docs, sounds like it's at least used in practice at MSFT: > Since 2011, it has been used extensively in the cloud and on premises by several Microsoft product groups, most not…

the actor model isn't erlangs, it's actually a surprisingly old idea ( 1973 ). The virtual actor model is an interesting spin on the idea that simplifies a few things. Orleans itself is quite nice, I've used it a few times on some smallish things. Looking at using it in anger for a large distributed backend system in the nearish future.

"Looking at using it in anger..."

Orleans DDoS?

Post reply on HN