4 ms·
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,
by lwansbrough 6y ago
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.
- Izikiel43 6y ago> Just don't make any bugs in your code or you're in for a headache. Have you taken a look at this? https://microsoft.github.io/coyote/ https://microsoft.github.io/coyote/ https://microsoft.github.io/coyote/learn/overview/what-is-coyote https://microsoft.github.io/coyote/learn/overview/what-is-co... It's a tool by Microsoft Research to detect concurrency bugs in code.
- withinboredom 6y agoI feel like the documentation (or something) could be improved there. I've never been able to get it to find a bug. That said, there's also https://github.com/Azure/azure-functions-durable-extension https://github.com/Azure/azure-functions-durable-extension which seems closely related to Orleans, but for serverless.
- popinman322 6y agoDurable Functions are not in the same category as actors. Each durable function exists to serve a single request; the model is request partitioned instead of data partitioned. Durable Functions are great for deterministic synchronization across calls to other Azure Functions. Fan-out, fan-in, function chaining, and similar tasks are best done using Durable Functions[0]. Could you build an actor model on top of Durable Functions? Possibly. I'm not sure why you would do that, though. Azure Functions are already pretty expensive. [0]: https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview?tabs=csharp#application-patterns https://docs.microsoft.com/en-us/azure/azure-functions/durab...
- x0n 6y agoHah... Microsoft already built an actor model on top of durable functions: they're called durable entities. https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-entities?tabs=csharp https://docs.microsoft.com/en-us/azure/azure-functions/durab...