Created per Mantis ticket #4658 for Tom Raney
Java Scala CSS JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Backplane README

This Backplane Server implements both the Backplane v2.0 and the previous Backplane v1.2 specifications.

Specifics for each of the Backplane versions are described in the following README files:

The deployment environment is Amazon AWS / EC2 and the storage engine used is Redis.

Environment Configuration

The Backplane Server learns its bootstrap configuration parameters from the following environment variables:

  • ZOOKEEPER_SERVERS: (Required) List of ZooKeeper servers, which will just be a single entry, if a ZooKeeper server is run on each Backplane node (e.g., "localhost:2181").

  • REDIS_SERVER_PRIMARY: (Required) Location of primary Redis server (e.g., "").

  • REDIS_SERVER_READS: (Required) Location of Redis server for reads may be the same as the primary.

  • AWS_INSTANCE_ID : (Required) Used for logging (e.g., "AWS_INSTANCE_ID=BACKPLANE").

  • GRAPHITE_SERVER: (Optional) Destination for Backplane metrics (e.g., "").

  • IP_WHITE_LIST: (Optional) Allowed IP addresses to access the /backplane_metrics endpoint (e.g., ","). Localhost is allowed as default.

Backplane Server Configuration

  • DEBUG_MODE: boolean flag for debug logging and behavior

  • CONFIG_CACHE_AGE_SECONDS: how long to keep this server configuration data in a memory cache

  • CLEANUP_INTERVAL_MINUTES: how often to run a thread for cleaning up expired items, such as messages, tokens, sessions, etc.

  • DEFAULT_MESSAGES_MAX: the default maximum number of messages in a Backplane channel, if not explicitly configured for the channel's bus

Administrator Authentication

Administrators can access the Bus Provisioning API and update Bus Configuration data.

To add the admin user account on initial deployment, use the /admin web interface.

  • USER: admin username

  • PWDHASH: admin password (hash)

Building From Source

This project requires the Maven build tool.

    mvn package -DskipTests=true

To process the tests, you must start the Redis and ZooKeeper instances.

Use the following modification to the Maven build command (be sure to add your parameters):

    mvn package -DargLine="AWS_INSTANCE_ID=test -DZOOKEEPER_SERVERS=localhost:2181 -DREDIS_SERVER_PRIMARY=localhost:6379 -DREDIS_SERVER_READS=localhost:6379"

Maven will create a WAR file for deployment in the /target/ directory.