|
|
|
|
|
by jwstarr
1547 days ago
|
|
We use them both implicitly (underlying Akka Streams) and explicitly (both classic untyped actors and typed actors). For the explicit actors, we use them to model state machines around I/O (e.g. stateful protocols). I've found that the application area is fairly niche, as many patterns of async work are clearer through queues, futures, or streams. The use of actors is insulated from the rest of the application code through interfaces that use futures or streams. But, internally, if you have to manage complex state where events can occur at any time and a mail-box like/internal queue is sufficient, then they tend to be easy to understand... once the initial ramp-up period is over. Additionally, I've found them to require very little maintenance as developers tend to get to 100% _flow_ test coverage without a lot of difficulty. |
|
And could you share the distinction between typed and untyped actors? Is that related to how the caller addresses/accesses methods on that actor?