67 lines
2.8 KiB
ReStructuredText
67 lines
2.8 KiB
ReStructuredText
Why Akka?
|
|
=========
|
|
|
|
What features can the Akka platform offer, over the competition?
|
|
----------------------------------------------------------------
|
|
|
|
Akka is an unified runtime and programming model for:
|
|
|
|
- Scale up (Concurrency)
|
|
- Scale out (Remoting)
|
|
- Fault tolerance
|
|
|
|
One thing to learn and admin, with high cohesion and coherent semantics.
|
|
|
|
Akka is a very scalable piece of software, not only in the performance sense,
|
|
but in the size of applications it is useful for. The core of Akka, akka-actor,
|
|
is very small and easily dropped into an existing project where you need
|
|
asynchronicity and lockless concurrency without hassle.
|
|
|
|
You can choose to include only the parts of akka you need in your application
|
|
and then there's the whole package, the Akka Microkernel, which is a standalone
|
|
container to deploy your Akka application in. With CPUs growing more and more
|
|
cores every cycle, Akka is the alternative that provides outstanding performance
|
|
even if you're only running it on one machine. Akka also supplies a wide array
|
|
of concurrency-paradigms, allowing for users to choose the right tool for the
|
|
job.
|
|
|
|
The integration possibilities for Akka Actors are immense through the Apache
|
|
Camel integration. We provide Software Transactional Memory concurrency control
|
|
through the excellent Multiverse project, and have integrated that with Actors,
|
|
creating Transactors for coordinated concurrent transactions. We have Agents and
|
|
Dataflow concurrency as well.
|
|
|
|
|
|
What's a good use-case for Akka?
|
|
--------------------------------
|
|
|
|
(Web, Cloud, Application) Services - Actors lets you manage service failures
|
|
(Supervisors), load management (back-off strategies, timeouts and
|
|
processing-isolation), both horizontal and vertical scalability (add more cores
|
|
and/or add more machines). Think payment processing, invoicing, order matching,
|
|
datacrunching, messaging. Really any highly transactional systems like banking,
|
|
betting, games.
|
|
|
|
Here's what some of the Akka users have to say about how they are using Akka:
|
|
http://stackoverflow.com/questions/4493001/good-use-case-for-akka
|
|
|
|
|
|
Akka Atmos
|
|
----------
|
|
|
|
And that's all in the ApacheV2-licensed open source project. On top of that we
|
|
have a commercial product called Akka Atmos which provides the following
|
|
features:
|
|
|
|
#. Management through Dashboard, JMX and REST
|
|
#. Monitoring through Dashboard, JMX and SNMP
|
|
#. Dapper-style tracing of messages across components and remote nodes
|
|
#. A configurable alert system
|
|
#. Real-time statistics
|
|
#. Very low overhead monitoring agents (should always be on in production)
|
|
#. Consolidation of statistics and logging information to a single node
|
|
#. Data analysis through Hadoop
|
|
#. Storage of statistics data for later processing
|
|
#. Provisioning and rolling upgrades through a dashboard
|
|
|
|
Read more `here <http://typesafe.com/products/typesafe-subscription>`_.
|