From 7bd7e4f13e46db10b7023e13b10b1544dcc680b1 Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Tue, 8 May 2012 16:16:47 +0200 Subject: [PATCH] Removing all but the FileBasedDurableMailbox from the docs --- akka-docs/modules/durable-mailbox.rst | 130 +------------------------- 1 file changed, 2 insertions(+), 128 deletions(-) diff --git a/akka-docs/modules/durable-mailbox.rst b/akka-docs/modules/durable-mailbox.rst index 2b0d7c7f1f..74618d978e 100644 --- a/akka-docs/modules/durable-mailbox.rst +++ b/akka-docs/modules/durable-mailbox.rst @@ -27,27 +27,11 @@ it, that the message could be lost. has crashed and then restarted, the thread that was blocked waiting for the reply is gone and there is no way we can deliver the message. -The durable mailboxes currently supported are: +The durable mailboxes supported out-of-the-box are: - ``FileBasedMailbox`` -- backed by a journaling transaction log on the local file system - - ``RedisBasedMailbox`` -- backed by Redis - - ``ZooKeeperBasedMailbox`` -- backed by ZooKeeper - - ``BeanstalkBasedMailbox`` -- backed by Beanstalkd - - ``MongoBasedMailbox`` -- backed by MongoDB -We'll walk through each one of these in detail in the sections below. - -You can easily implement your own mailbox. Look at the existing implementations for inspiration. - -We are also discussing adding some of these durable mailboxes: - - - ``AmqpBasedMailbox`` -- AMQP based mailbox (default RabbitMQ) - - ``JmsBasedMailbox`` -- JMS based mailbox (default ActiveMQ) - - ``CassandraBasedMailbox`` -- Cassandra based mailbox - - ``CamelBasedMailbox`` -- Camel based mailbox - - ``SqlBasedMailbox`` -- SQL based mailbox for general RDBMS (Postgres, MySQL, Oracle etc.) - -Let us know if you have a wish for a certain priority order. +You can easily implement your own mailbox. Look at the existing implementation for inspiration. .. _DurableMailbox.General: @@ -105,113 +89,3 @@ the ``akka.actor.mailbox.file-based`` section in the :ref:`configuration`. .. literalinclude:: ../../akka-durable-mailboxes/akka-file-mailbox/src/main/resources/reference.conf :language: none - -Redis-based durable mailbox -=========================== - -This mailbox is backed by a Redis queue. `Redis `_ Is a very -fast NOSQL database that has a wide range of data structure abstractions, one of -them is a queue which is what we are using in this implementation. This means -that you have to start up a Redis server that can host these durable -mailboxes. Read more in the Redis documentation on how to do that. - -You configure durable mailboxes through the dispatcher, as described in -:ref:`DurableMailbox.General` with the following mailbox type. - -Config:: - - my-dispatcher { - mailbox-type = akka.actor.mailbox.RedisBasedMailboxType - } - -You also need to configure the IP and port for the Redis server. This is done in -the ``akka.actor.mailbox.redis`` section in the :ref:`configuration`. - -.. literalinclude:: ../../akka-durable-mailboxes/akka-redis-mailbox/src/main/resources/reference.conf - :language: none - - -ZooKeeper-based durable mailbox -=============================== - -This mailbox is backed by `ZooKeeper `_. ZooKeeper -is a centralized service for maintaining configuration information, naming, -providing distributed synchronization, and providing group services This means -that you have to start up a ZooKeeper server (for production a ZooKeeper server -ensemble) that can host these durable mailboxes. Read more in the ZooKeeper -documentation on how to do that. - -You configure durable mailboxes through the dispatcher, as described in -:ref:`DurableMailbox.General` with the following mailbox type. - -Config:: - - my-dispatcher { - mailbox-type = akka.actor.mailbox.ZooKeeperBasedMailboxType - } - -You also need to configure ZooKeeper server addresses, timeouts, etc. This is -done in the ``akka.actor.mailbox.zookeeper`` section in the :ref:`configuration`. - -.. literalinclude:: ../../akka-durable-mailboxes/akka-zookeeper-mailbox/src/main/resources/reference.conf - :language: none - -Beanstalk-based durable mailbox -=============================== - -This mailbox is backed by `Beanstalkd `_. -Beanstalk is a simple, fast work queue. This means that you have to start up a -Beanstalk server that can host these durable mailboxes. Read more in the -Beanstalk documentation on how to do that. - -You configure durable mailboxes through the dispatcher, as described in -:ref:`DurableMailbox.General` with the following mailbox type. - -Config:: - - my-dispatcher { - mailbox-type = akka.actor.mailbox.BeanstalkBasedMailboxType - } - -You also need to configure the IP, and port, and so on, for the Beanstalk -server. This is done in the ``akka.actor.mailbox.beanstalk`` section in the -:ref:`configuration`. - -.. literalinclude:: ../../akka-durable-mailboxes/akka-beanstalk-mailbox/src/main/resources/reference.conf - :language: none - -MongoDB-based Durable Mailboxes -=============================== - -This mailbox is backed by `MongoDB `_. -MongoDB is a fast, lightweight and scalable document-oriented database. It contains a number of -features cohesive to a fast, reliable & durable queueing mechanism which the Akka Mailbox takes advantage of. - -Akka's implementations of MongoDB mailboxes are built on top of the purely asynchronous MongoDB driver -(often known as `Hammersmith `_ and ``com.mongodb.async``) -and as such are purely callback based with a Netty network layer. This makes them extremely fast & -lightweight versus building on other MongoDB implementations such as -`mongo-java-driver `_ and `Casbah `_. - -You configure durable mailboxes through the dispatcher, as described in -:ref:`DurableMailbox.General` with the following mailbox type. - -Config:: - - my-dispatcher { - mailbox-type = akka.actor.mailbox.MongoBasedMailboxType - } - -You will need to configure the URI for the MongoDB server, using the URI Format specified in the -`MongoDB Documentation `_. This is done in -the ``akka.actor.mailbox.mongodb`` section in the :ref:`configuration`. - -.. literalinclude:: ../../akka-durable-mailboxes/akka-mongo-mailbox/src/main/resources/reference.conf - :language: none - -You must specify a hostname (and optionally port) and at *least* a Database name. If you specify a -collection name, it will be used as a 'prefix' for the collections Akka creates to store mailbox messages. -Otherwise, collections will be prefixed with ``mailbox.`` - -It is also possible to configure the timeout thresholds for Read and Write operations in the ``timeout`` block. -