Replies: 6 comments
-
Looping in @mtmk |
Beta Was this translation helpful? Give feedback.
-
Nothing I know of. I'm wondering if Akka.Net might be a good fit if necessary extensions can be developed easy enough cc @to11mtm |
Beta Was this translation helpful? Give feedback.
-
It somewhat depends on the aim is. (@mrpmorris If you can share some example uses cases, I can probably answer better and/or see what samples are out there that are similar. Akka.Net does also have a Discord with other maintainers and members that can likely provide some feedback/insight if desired.) It's worth noting Akka.Net in general is as much a toolkit as an Actor framework. Broadly speaking, it's less opinionated than Orleans, with the tradeoff being you may have to put more elbow-grease into an actual cluster. At the same time, I'll note that I've seen (and personally used) Akka used in plenty of cases for a more general 'backend' sense; i.e. you're using Akka for logic/local routing/etc but are not using Akka Clustering. Heck, I once used it to easily solve races in a WPF App and greatly simplify the dispatch logic. 😅 Personally I think it is a great fit for NATS app implementations, especially with below mentioned streams for BG processing of requests/etc. The real wildcard however, is that Akka.NET has Akka.Streams, alongside the Alpakka.NET connectors for Akka streams. Essentially, using a DSL to build processing pipelines. Connectors exist today for Kafka, I think Azure SB, and others. It's on my list to make a NATS one. :)
|
Beta Was this translation helpful? Give feedback.
-
My aim is simply to be able to say I want the manager of Type=X and Instance=Y to do something, and have it dealt with in a single-threaded way. MS Orleans only works within a single Azure Region. I thought it would be nice to not have that restriction. It's not something I particularly need atm, just wondering. |
Beta Was this translation helpful? Give feedback.
-
I need to learn more about MS Orleans cc @caleblloyd |
Beta Was this translation helpful? Give feedback.
-
Grains in MSOrleans are instantiated automatically when needed. They are identified by type + id. For example Purchase order+1234. If an instance is already running then it will receive all messages intended for that unique combination. If not then one is created, it loads the state it manages, and then remains in memory until it appears it is no longer being used. Requests are dealt with one at a time, and the grain works on its in-memory state and can persist it at the end of each call. |
Beta Was this translation helpful? Give feedback.
-
I like the look of NATS so far, it looks very impressive!
I'm wondering if there is any kind of actor library for .net so I can use it instead of MS Orleans (and therefore will work across different Azure regions)?
Beta Was this translation helpful? Give feedback.
All reactions