Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Gyrex/Development Space/ZooKeeper Interaction

Gyrex
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse SourceProject Set File

This article provides insights into how Gyrex interacts with ZooKeeper.


Prerequisites

Please read about ZooKeeper. This article may use terminology which is specific to ZooKeeper and also goes right into the details. You should also be familiar with:

  • Equinox Extension Registry
  • Gyrex Roles
  • Equinox Applications (aka. Eclipse or OSGi Applications)

Summary

ZooKeeper is used in Gyrex in order to implement the core functionality of clustering in Gyrex:

  • Which node belongs to the cloud? (Membership)
  • Which node offers which functionality in the cloud? (Coordination)

ZooKeeper also offers receipts which allow to implement additional functionality. Based on those receipts the following additional capabilities are also implemented in Gyrex:

  • Cloud Preferences Scope which stores preferences in ZooKeeper
  • Queue Service (similar to Amazon SQS) which allows to post and receive messages with a visibility timout
  • Lock Service which allows to create distributed locks (based on ephemeral as well as persistent nodes)


ZooKeeper Gate

The ZooKeeper gate is the central point in Gyrex which coordinates all communication to ZooKeeper. It is responsible for establishing and maintaining a ZooKeeper connection. Listeners can be registered with the gate in order to participate in the connection life cycle.

Gate Manager

The gate itself is maintained by a gate manager. This is an Equinox IApplication which must be started in order to enable participation of the Gyrex instance in the cloud. The application is contributed as an extension to the Equinox Extension Registry. Additionally a Gyrex Role extension is defined which ensures that the gate manager application is started when the role is activated.

Back to the top