Disclaimer: I am the PO for Akka
Besides offering a concurrency smorgasbord that is much simpler to reason about and to get correct (actors, agents, dataflow concurrency) and with concurrency control in the form of STM.
Here are some use-cases you might consider:
- Transaction processing (online
gaming, finance, statistics,
betting, social media, telecom, ...)
- scale up, scale out, fault-tolerance / HA
- Service backend (any industry, any app)
- service REST, SOAP, cometd etc
- act as message hub / integration layer
- scale up, scale out, fault-tolerance / HA
- Snap-in concurrency/parallelism ( any app )
- Correct
- Simple to work with and understand
- Just add the jars to your existing JVM project (use Scala,
Java, Groovy or JRuby)
- Batch processing ( any industry )
- Camel integration to hook up with batch data sources
- Actors divide and conquer the batch workloads
- Communications hub ( telecom, web media, mobile media )
- scale up, scale out, fault-tolerance / HA
- Game server (online gaming, betting)
- scale up, scale out, fault-tolerance / HA
- BI/datamining/general purpose crunching
- scale up, scale out, fault-tolerance / HA
- insert other nice use cases here