Eventing Service

Overview of the Eventing Service

The Eventing Service introduces programmability to handle data mutations in the cluster.

Before a deep-dive, let us understand a few basic terminologies. The term mutation refers to document changes. In the Couchbase Data Platform context, a create, update, expiry, or delete operation on a document is termed as data mutations. A single data mutation is consider to be an event in the cluster.

The Couchbase Eventing Service provides an interface to manage data mutations in near real time. Upon an event occurrence, the Eventing Service enables a user-defined
business logic to be triggered on the server.

Natively integrated with the Couchbase Data Platform, the Eventing Service uses the Database Change Protocol (DCP) streams and does not require any third party solutions to identify data mutations.

eventing block diag

Why use the Eventing Service section, helps you to understand benefits of using the Eventing Service.

For scaling and optimization purposes, standard data platform services such as indexing, querying, and data access services, need to be isolated. In the Couchbase Data Platform, this is achieved through the Multi-Dimensional Scaling (MDS) offering. The Eventing
Service, leveraging on the MDS offering, allows you to isolate itself based on its individual workload. Since Eventing is an independent service, you can scale resources separately from the rest of your cluster.

eventing service onboarding information

The graphical UI offers the simplest way to start using the Eventing Service. However, as a developer, you may want to use the REST APIs and cURL options. The Eventing Service supports REST APIs, cURL and CLI options, to provide a similar functionality as its UI.

We recommend to proceed further by reading the following Eventing Service related Terminologies.

Eventing Service Implementation in Couchbase Server

Functions

Functions are server-side computing paradigms which handle data mutations according to an Event-Condition-Action model. For more information, refer to Couchbase Functions.

Feeds

Implementing Feeds in the Eventing Service framework is an active part of our product roadmap.

Use Cases

The amplitude of the Eventing Service use cases extend to a wide variety of domains. Airlines, Gaming, Healthcare, Retail, Warehousing, and Finance, are a few examples.

In the Airline space, you can leverage the Eventing Service to deliver a superior
customer experience. Based on booking transaction information, you can actively
engage with customers through notifications on flight information, frequent flyer
programs and price-drop alerts.

For gaming enthusiasts, you can build a near real-time leaderboard to display
user-ranking and other statistics.

In a healthcare solution, you can monitor diagnostic vitals such as hemoglobin and
cholesterol indices. The Eventing Service can be configured to generate an alert
notification upon a threshold breach condition.

Inventory management is the nerve-center activity in the Warehousing domain. Using the Eventing Service, you can set an inventory threshold, below which workflows for stock
replenishments can be set in motion.

The Risk Assessment example illustrates an use case in the Finance domain.