We’re thrilled to announce a new open-source package for the Swift on Server ecosystem, Swift Distributed Actors, a complete server-oriented cluster library for the upcoming distributed actor language feature!
(Distributed) Actor systems are not really great at, or intended to, solve public facing APIs such as REST APIs, since they require more tight control of the formats and versioning etc.
We do have to solve versioning as well, but the nature of those systems is that they're stateful makes it more complicated. Usually they're good in environments "within" a service, where you have more control over when you can remove e.g. a deprecated function, once you know all peers using it have been decomisioned.
I'm aware of pains involved in rollouts in stateful systems, and yes this is a typical pain in such clusters, but it's managable when done carefully.
They're best in systems where you own both ends, and can control rollouts.
It's also fine for not everything to be distributed actors, that's just fine.
Would be cool if you could use swift distributed actors on Apple OS with XPC, built right in, and if you specify, have a single executor for your "remote XPC service" and flip the runtime in single threaded mode, and turn off atomic ARC for performance.