Child pages
  • ERJGroupsSynchronizer Framework

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Adds more options for obtaining the jgroups-aws code.

...

The jgroups-aws project from meltmedia "provides auto discovery for other cluster members on AWS using both tag matching and filters. It is a drop in replacement for TCPPING, allowing you to remove the definition of your initial members from your configuration file."

  1. That project doesn't seem to provide a convenient JAR or other packaging, but there's only a single source file required. Get Include jgroups-aws in your project.
    1. If you're using Maven, include the following dependency in your POM:

      Code Block
      <dependency>
        <groupId>com.meltmedia.jgroups</groupId>
        <artifactId>jgroups-aws</artifactId>
        <version>1.4.1</version>
      </dependency>
    2. If you're using the Fluffy Bunny project layout, you can download the JAR directly from Maven Central and put it in Libraries.
    3. Otherwise you can just grab AWS_PING.java
    and
    1.  and include it somewhere appropriate.
  2. Include TCP and AWS_PING sections in your JGroups XML configuration file.
  3. Include these properties: 

    No Format
    er.extensions.ERXObjectStoreCoordinatorPool.maxCoordinators=1
    er.extensions.remoteSynchronizer.enabled=true
    er.extensions.remoteSynchronizer=er.jgroups.ERJGroupsSynchronizer
  4. Follow the instructions in the Setting Up EC2 section of the jgroups-aws project page.
  5. Although the jgroups-aws documentation seems to suggest it's not mandatory, I was unable to get initial discovery to occur without using the "tags" feature of the AWS_PING configuration. That is, it would seem to be the case that you need to apply at least one arbitrary tag to your instances, and AWS_PING then picks up all instances where the nominated tag has the same value.

...