When using Akka 1.3, do I need to worry about what happens when the actors producing messages are producing them faster than than the actors consuming them can process?
Without any mechanism, in a long running process, the queue sizes would grow to consume all available memory.
The doc says the default dispatcher is the ExecutorBasedEventDrivenDispatcher.
This dispatcher has five queue configuration:
- Bounded LinkedBlockingQueue
- Unbounded LinkedBlockingQueue
- Bounded ArrayBlockingQueue
- Unbounded ArrayBlockingQueue
- SynchronousQueue
and four overload policies:
- CallerRuns
- Abort
- Discard
- DicardOldest
Is this the right mechanism to be looking at? If so, what are this dispatchers' default settings?