0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

イベントドリブン・ビジネスロジック・プラットフォームとしてのCouchbase

Posted at

はじめに

本稿では、Couchbaseをイベントドリブン・ビジネスロジック・プラットフォームとして利用するための機能について解説します。

Couchbase Eventingサービス

Couchbase Eventingサービスとは

Couchbase Eventingサービスは、Couchbase内のデータに変更が生じたときに、ユーザー定義のビジネスロジックをトリガーするための機能です。

QueryやIndexなど、その他のサービス同様、クラスターを構成する特定のノードをEventingサービスに割り当てることができます。要件に応じて、複数台の専用ノードを用いたり、他のサービスとノードを共有することができます(マルチディメンショナルスケーリング)。つまり、Couchbaseの他のサービス同様、Eventingサービスは、高可用性を持ち、高パフォーマンス、かつスケーラブルです。

Couchbaseとネイティブに統合されているため、サードパーティソリューションを必要とせず、シングルプラットフォームで、イベント駆動型のビジネスロジックを簡単に開発、展開、保守できます。

技術的には、JavaScriptを用いて、処理を実装します。

なお、Eventingサービスは、Couchbase Serverのコミュニティエディションでは提供されておらず、Enterprise Editionにのみ存在する機能です。

Eventingサービス利用例

RDBのトリガーの様に、データベース内のデータに対して作用することもできますし、外部システムへのコールを実装することも可能です。

データベース内の変更

  • データ更新に際して、サーバサイドでリアルタイムに情報を付与する
  • データ更新によって生じた不整合な状態を回避するためにデータを削除する

外部システムとの連携

  • データ変更を他のシステムに伝達する
  • 特定の情報を監視し、閾値に達した際にアクションを実行する

その他の特徴

  • ビルトイン・デバッガーを備えており、デバッグが容易

最後に

Couchbase Eventingサービスを活用するための、多くのブログ記事が書かれているので、参考情報として紹介します。

参考情報

Couchbase Blog

Introducing Couchbase Eventing Service

Using N1QL with Couchbase Eventing Functions

Couchbase Eventing: small scripts that solve big problems

Eventing: Notification with Couchbase Functions

Eventing Service Best Practices

Eventing Service Improvements in Couchbase Server 6.5

Eventing Improvements (Timers, Handlers, and Statistics)

Using cURL with the Eventing Service

Real Time User Deduplication with Couchbase Eventing

公式ランディングページ・ドキュメント

EVENTING SERVICE FROM COUCHBASE

Eventing Service: Fundamentals

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?