Removing all but the FileBasedDurableMailbox from the docs
This commit is contained in:
parent
d97e6050e5
commit
7bd7e4f13e
1 changed files with 2 additions and 128 deletions
|
|
@ -27,27 +27,11 @@ it, that the message could be lost.
|
||||||
has crashed and then restarted, the thread that was blocked waiting for the
|
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.
|
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
|
- ``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 implementation for inspiration.
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
.. _DurableMailbox.General:
|
.. _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
|
.. literalinclude:: ../../akka-durable-mailboxes/akka-file-mailbox/src/main/resources/reference.conf
|
||||||
:language: none
|
:language: none
|
||||||
|
|
||||||
|
|
||||||
Redis-based durable mailbox
|
|
||||||
===========================
|
|
||||||
|
|
||||||
This mailbox is backed by a Redis queue. `Redis <http://redis.io>`_ 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 <http://zookeeper.apache.org/>`_. 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 <http://kr.github.com/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 <http://mongodb.org>`_.
|
|
||||||
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 <http://github.com/bwmcadams/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 <http://github.com/mongodb/mongo-java-driver>`_ and `Casbah <http://github.com/mongodb/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 <http://www.mongodb.org/display/DOCS/Connections>`_. 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.
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue