I have an actor
which reads some state from another place periodically (lets say database). Now I like the fact that I can send this actor some more messages like "please update now", or "please refresh my read only state" or "please restart yourself" and for it to have a built in "scheduler" as akka provides for me + its inbox.
All these features are really great. However I don't like it that my overall system has many actors (adds to complexity and testability complexity which I dont need). Now all I need is the state it has updated so I thought of having this actor replace a shared immutable global state like every 1 minute which is fine for me and for all components which require this state simply to access directly this state. No reason to boilerplate them being actors they can just access this.
Does this sounds a reasonable combination of simplicity with multithreading with the help of actors?
If you have some state that you want an actor to update, but you don't want to have to go through an actor to access, then you could consider using an akka agent.