Minor changes to docs + added new akka logo

This commit is contained in:
Jonas Bonér 2011-05-08 20:42:40 +02:00
parent 73fd0775f3
commit 20be7c40c6
11 changed files with 13 additions and 75 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

View file

@ -22,72 +22,11 @@ Actors as services
The simplest way you can use Akka is to use the actors as services in your Web application. All thats needed to do that is to put the Akka charts as well as its dependency jars into WEB-INF/lib. You also need to put the akka.conf config file in the $AKKA_HOME/config directory.
Now you can create your Actors as regular services referenced from your Web application. You should also be able to use the Remoting service, e.g. be able to make certain Actors remote on other hosts. Please note that remoting service does not speak HTTP over port 80, but a custom protocol over the port is specified in akka.conf.
.. image:: ../images/akka-as-library-1.png
Actors as services with Software Transactional Memory (STM)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
As in the above, but with the addition of using the STM module to allow transactional memory across many Actors (no persistence, just in-memory).
.. image:: ../images/akka-as-library-2.png
Actors as services with Persistence module as cache
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
As in the above, but with the addition of using the Persistence module to allow transactional persistent cache. This use case scenario you would still use a regular relational database (RDBMS) but use Akkas transactional persistent storage as a performant scalable cache alongside the RDBMS.
.. image:: ../images/akka-as-library-3.png
Actors as services with Persistence module as primary storage/Service of Record (SoR)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
As in the above, but with the addition of using the Persistence module as the primary storage/SoR. In this use case you wouldnt use a RDBMS at all but rely on one of the Akka backends (Cassandra, Terracotta, Redis, MongoDB etc.) as transactional persistent storage. This is great if have either high performance, scalability or high-availability requirements where a RDBMS would be either single point of failure or single point of bottleneck or just be too slow.
If the storage API (Maps, Vectors or Refs) is too constrained for some use cases we can bypass it and use the storage directly. However, please note that then we will lose the transactional semantics.
.. image:: ../images/akka-as-library-4.png
Actors as REST/Comet (push) services
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You can also expose your library Actors directly as REST (`JAX <https://jersey.dev.java.net/>`_`-RS <https://jersey.dev.java.net/>`_) or Comet (`Atmosphere <https://atmosphere.dev.java.net/>`_) services by deploying the AkkaServlet in your servlet container. In order for this to work in each define a so-called “boot” class which bootstraps the Actor configuration, wiring and startup. This is done in the akka.conf file.
.. image:: ../images/akka-as-library-5.png
Using Akka as a stand alone microkernel
Using Akka as a stand alone microkernel
---------------------------------------
Akka can also be run as a stand-alone microkernel. It implements a full enterprise stack:
Web/REST/Comet layer
^^^^^^^^^^^^^^^^^^^^
Akka currently embeds the `Grizzly/GlassFish <https://grizzly.dev.java.net/>`_ servlet container (but will soon be pluggable with Jetty as well) which allows to build REST-based using `JAX <https://jersey.dev.java.net/>`_`-RS <https://jersey.dev.java.net/>`_ and Comet-based services using `Atmosphere <https://atmosphere.dev.java.net/>`_ as well as regular Web applications using JAX-RSs `implicit views <http://blogs.sun.com/sandoz/entry/mvcj>`_ (see also `James Strachans article <http://macstrac.blogspot.com/2009/01/jax-rs-as-one-web-framework-to-rule.html>`_).
Service layer
^^^^^^^^^^^^^
The service layer is implemented using fault tolerant, asynchronous, throttled message passing; like `SEDA-in-a-box <http://www.eecs.harvard.edu/~mdw/proj/seda/>`_ using Actors.
Persistence layer
^^^^^^^^^^^^^^^^^
Implemented using pluggable storage engines for both partitioned distributed massively scalable storage (like Cassandra) as well as single node storage (like MongoDB). A different storage and gives also provides different consistency/availability trade-offs implementing either Eventually Consistency (BASE) or Atomicity (ACID).
Monitoring and Management layer
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Providing both JMX management and monitoring as well as w3c logging.
.. image:: ../images/akka-as-kernel.png
Use BivySack for packaging your application
-------------------------------------------

View file

@ -6,7 +6,7 @@ What is Akka?
**Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Actors**
We believe that writing correct concurrent, fault-tolerant and scalable applications is too hard. Most of the time it's because we are using the wrong tools and the wrong level of abstraction. Akka is here to change that. Using the Actor Model together with ``Software Transactional Memory`` we raise the abstraction level and provide a better platform to build correct concurrent and scalable applications. For fault-tolerance we adopt the ``Let it crash`` / ``Embrace failure`` model which have been used with great success in the telecom industry to build applications that self-heals, systems that never stop. Actors also provides the abstraction for transparent distribution and the basis for truly scalable and fault-tolerant applications. Akka is Open Source and available under the ``Apache 2 License``.
We believe that writing correct concurrent, fault-tolerant and scalable applications is too hard. Most of the time it's because we are using the wrong tools and the wrong level of abstraction. Akka is here to change that. Using the Actor Model together with Software Transactional Memory we raise the abstraction level and provide a better platform to build correct concurrent and scalable applications. For fault-tolerance we adopt the Let it crash/Embrace failure model which have been used with great success in the telecom industry to build applications that self-heals, systems that never stop. Actors also provides the abstraction for transparent distribution and the basis for truly scalable and fault-tolerant applications. Akka is Open Source and available under the Apache 2 License.
Download from `<http://akka.io/downloads/>`_
@ -20,7 +20,7 @@ Akka implements a unique hybrid of:
- Asynchronous, non-blocking and highly performant event-driven programming model.
- Very lightweight event-driven processes (create ~6.5 million actors on 4GB RAM).
- :ref:`fault-tolerance-java` through supervisor hierarchies with `let-it-crash <http://letitcrash.com>`_ semantics. Excellent for writing highly fault-tolerant systems that never stop, systems that self-heal.
- :ref:`fault-tolerance-java` through supervisor hierarchies with "let-it-crash" semantics. Excellent for writing highly fault-tolerant systems that never stop, systems that self-heal.
- :ref:`stm-java` (STM). (Distributed transactions coming soon).
- :ref:`transactors-java`: combine actors and STM into transactional actors. Allows you to compose atomic message flows with automatic retry and rollback.
- :ref:`remote-actors-java`: highly performant distributed actors with remote supervision and error management.

View file

@ -53,16 +53,15 @@ And that's all in the ApacheV2-licensed open source project. On top of that we
have a commercial product called Cloudy Akka which provides the following
features:
#. Dynamically clustered ActorRegistry with both automatic and manual migration
of actors
#. Cluster membership and cluster event subscriptions
#. Durable actor mailboxes of different sizes and shapes - file-backed,
Redis-backed, ZooKeeper-backed, Beanstalkd-backed and with AMQP and JMS-based
in the works
#. Monitoring influenced by Dapper for cross-machine message tracing and
JMX-exposed statistics
#. 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://scalablesolutions.se/products.html>`_.