Repository: usergrid-qakka Updated Branches: refs/heads/master 3ad20f3df -> 44b07d58d
Some basic README docs Project: http://git-wip-us.apache.org/repos/asf/usergrid-qakka/repo Commit: http://git-wip-us.apache.org/repos/asf/usergrid-qakka/commit/44b07d58 Tree: http://git-wip-us.apache.org/repos/asf/usergrid-qakka/tree/44b07d58 Diff: http://git-wip-us.apache.org/repos/asf/usergrid-qakka/diff/44b07d58 Branch: refs/heads/master Commit: 44b07d58daecd54cf4b1a9167b0edeccfaa8bb0b Parents: 3ad20f3 Author: Dave Johnson <snoopd...@apache.org> Authored: Fri Dec 2 10:53:11 2016 -0500 Committer: Dave Johnson <snoopd...@apache.org> Committed: Fri Dec 2 10:53:11 2016 -0500 ---------------------------------------------------------------------- README.md | 51 +++++++++++++++++++++++++++++++++++--- docs/qakka-example.properties | 26 +++++++++++++++---- 2 files changed, 68 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/usergrid-qakka/blob/44b07d58/README.md ---------------------------------------------------------------------- diff --git a/README.md b/README.md index 8a37e54..8eea6a0 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,52 @@ Standalone version of Usergrid's Qakka queue service. -Features: +## Introducting Qakka -* Distributed and multi-region queue system -* REST API for managing queues and sending messages +Qakka is a standalone version of the distributed and multi-region queue system that it built-into Apache Usergrid. It is a Java web application that combines the Usergrid Actor System and Queue modules with a Jersey JAX-RS based REST API. + +__Qakka Features__ + +* Multiple named Queues +* Distributed and Multi-region + * Queue messages can be sent to multiple regions + * Queue reads always from local region +* Inflight Queue messages time-out if not âackedâ +* Schemaless Queue message payloads, JSON or BLOB with any content-type +* REST & Java APIs + + +## Qakka System Requirements + +Minimal requires for Qakka in one region or data center are: + +* One or more computers running Java 8 and Tomcat 7 or 8 +* A Cassandra cluster running Cassandra 2.1.x + + +## Qakka Internals + +You can learn more about Qakka internals by reading this [Google Slides presentation](https://docs.google.com/presentation/d/1j1w8txLlmVg6Ndiq1gsmF_3g8tl5flSjgmko4UxH6Gc/edit?usp=sharing). + +Qakka was developed as for this JIRA Issue: [USERGRID-1318](https://issues.apache.org/jira/browse/USERGRID-1318). + + +## Qakka Installation + +We don't have installation documentation or scripts yet, but here's an overview of what you'll have to do +to setup Qakka: + +* In each region, setup your Tomcat computers + * Install Java 8 + * Install Tomcat 7 or 8 + * Place the WAR file in the Tomcat's webapps directory + * Place your qakka.properties file in your Tomcat lib directory + * If you more than one Tomcat, you probably want to add a Load Balancer, e.g. AWS ELB + +* In each region, setup your Cassandra computers + * Install Java 8 + * Install Cassandra 2.1.x + * Verify that your cluster is working + +There is an example [qakka.properties](https://github.com/apache/usergrid-qakka/blob/master/docs/qakka-example.properties) file that contains some information about how to configure Qakka, its Cassandra connections and its Usergrid Clustering. -Docs coming soon... http://git-wip-us.apache.org/repos/asf/usergrid-qakka/blob/44b07d58/docs/qakka-example.properties ---------------------------------------------------------------------- diff --git a/docs/qakka-example.properties b/docs/qakka-example.properties index 818db89..953502c 100644 --- a/docs/qakka-example.properties +++ b/docs/qakka-example.properties @@ -28,17 +28,33 @@ ## (Make sure cassandra.hosts is set correctly) +cassandra.username= + +cassandra.password= + +cassandra.datacenter.local=us-east + # Comma separated list of Cassandra hosts that this instance should use cassandra.hosts=localhost -# Name of keyspace to be used for queues and queue message payload data (must be replicated) -cassandra.keyspace.application=qakka_test_application +# Name of keyspace to be used for queues and queue message payload data (must +# be replicated) Qakka will create this keyspace if it does not exit, and +# Qakka will create a non-replicated keyspace with the same name plus "_local" +cassandra.keyspace.application=qakka_replicated + +cassandra.keyspace.replication=us-east:3 +cassandra.keyspace.strategy=NetworkTopologyStrategy + +# Keyspace settings for replicated keyspace +cassandra.strategy=NetworkTopologyStrategy +cassandra.strategy.options=us-west-2:3 -# Name of keyspace to be used for per region queue messages (must not be replicated) -cassandra.keyspace.queue-message=qakka_test_queue_messages +# Keyspace settings for local and non-replicated keyspace +cassandra.strategy.local=NetworkTopologyStrategy +cassandra.strategy.options.local=us-east:3 # Number of connections to maintain in connection pool -#cassandra.connections=30 +cassandra.connections=30 # Timeout pooled connections after this time cassandra.timeout.pool=20000