Deploying Couchbase Eventing

In order to process events on Couchbase NoSQL database GlueSync needs that the eventing service is deployed inside the cluster and available. Eventing service is needed to run GlueSync Eventing functions. Those functions will generate events based on changes that happen on Couchbase documents in a particular bucket. GlueSync then will process those events and replicate data into the destination database.

How to size your cluster deployment

To properly define the sizing and number of nodes needed to provide that functionality our professional services can be involved opening a ticket to the support team.

Automatic Eventing functions deploying

GlueSync automatically deploys the following Eventing functions inside your Couchbase Cluster deployment at its first initialization. Each function has a prefix gluesync_ word to be easily recognized inside your Eventing deployment. As per you can have multiple GlueSync instances running into your Couchbase Server cluster.

Eventing function gluesync_${configuration.sourceName}_generate_document_event

Generates an event from a JSON document change notification and writes it inside the helper bucket. This function uses the GlueSync’s config JSON document mentioned below to retrieve the list of docTypes to monitor.

Eventing function gluesync_${configuration.sourceName}_save_event_to_target

Takes the saved event and writes it into the source bucket where it will be consumed by GlueSync.

Understanding GlueSync’s config JSON (Document types list)

GlueSync will store a specific JSON document into your “Data bucket” in order to let you catch events coming from the specified JSON document type’s key; it can be easily recognized thanks to its type property __gluesync_config_doc.

Config JSON document has basically this simple structure:

{
  "sourceEntities": ["orders","DocumentType2","DocumentType3","DocumentType4"],
  "type": "__gluesync_config_doc"
}

Note: Leaving the mentioned document empty will let the eventing function generate an event for every document type that gets changed inside your “Data bucket”.

Important: do not manually edit this document, it is automatically managed by the GlueSync connector.