0
0

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 1 year has passed since last update.

Alibaba Cloud Event Bridgeを使ってイベントドリブンアーキテクトを構成しよう

Posted at

Event Bridgeとは

他のAlibaba Cloudのサービスやカスタムアプリケーション、SaaSからアクセスできるサーバーレスなイベントバスサービスです。
Alibaba Cloud Event Bridge

CloudEvents1.0

CloudEventsはCNCF(Clpud Native Computing Foundation)がイベントデータ(通知)の記述仕様を共通化させたものです。
Alibaba Cloud Event BridgeはCloudEvent1.0の仕様に基づいて、アプリケーション間のイベントをルーティングしています。
CloudEventsの詳細については、公式サイトGitHubを参照してください。

Event SourceとEvent Target

Event BridgeにはEvent SourceとEvent Targetからアクセスできます。
また、Event Bridgeはスキーマグループによってイベントのスケジュールと処理ができます。

Event Source

Event Sourceはイベントを生成するもので、Event Bridgeでは下記のEvent Sourceがサポートされています。
サポート対称のカテゴリとして、大きく2つあります。
Alibaba Cloudサービスのイベントソースとカスタムイベントソースです。

Alibaba Cloudサービスのイベントソース
下記のAlibaba Cloudサービスは、イベントソースとしてEvent Bridgeに接続できます。

  • Elastic Computing
  • Storage
  • Database
  • Container
  • ミドルウェアサービス

カスタムイベントソース
以下の方法によりカスタムイベントソースとしてEvent Bridgeに接続することができます。

  • SDKを利用したカスタムアプリケーション
  • イベントプロバイダーを指定したメッセージデータ

Event Target

イベントターゲットは、イベントの処理および消費を行います。
Event BridgeでサポートされているEvent Targetは下記のものです。

  • Function Compute
  • Message Queue for Apache RocketMQ
  • Message Queue for RabbitMQ
  • Message Service(MNS)
  • HTTP gateway
  • HTTPS gateway
  • Short Message Service(SMS)
  • Direct Mail
  • ApsaraDB RDS for MySQL
  • Self-managed MySQL database
  • EventBridge
  • Log Service

リソース管理

Event Bridgeを使用する際のリソースの管理方法は3つあります。

  • カスタムイベントソースの管理
  • カスタムイベントバスの管理
  • イベントルールの管理

イベント処理

Event Bridgeを使用した、イベント処理を行います。

  • イベント配信
  • イベントフィルター
  • ルートイベント
  • イベントの再試行
  • イベントの公開
  • クエリイベント

スケーリング

Event Bridgeには、イベント送信容量の自動スケーリング機能がサポートされています。

セキュリティ

Event Bridgeを利用することで、アクセス許可やリクエスト送信を制限できます。

  • Alibaba Cloudアカウントを使用して、RAMユーザーにアクセス許可を付与
    • 異なるRAMユーザーに異なるアクセス許可を付与することも可能
  • Alibaba Cloudアカウント全体にアクセス許可の付与
  • HTTPまたはHTTPS経由でリクエスト送信

可用性

Event Bridgeにはサービスの可用性が考慮された仕組みがあります。

  • 高スループットでのイベント発行
  • 自動スケーリングをサポートしてバーストトラフィックを処理
  • ステートレスインスタンスのサポート
  • ネットワーク待機時間短縮のための複数リージョンへのデプロイ
  • 同一リージョン内の2つのデータセンターへのデプロイ

料金

パブリックプレビュー期間中は無料です。

SDK

SDKはAliyun SDKとCloud Events SDKが用意されています。
Cloud Events SDKはJavaのみの対応となっています。

Aliyun SDK

Event Bridge用のSDKは7言語に対応しています。

  • Java
    • JDK 1.7以降が必要
  • Go
    • バージョン1.12以降が必要
  • Python
    • バージョン3.4以降が必要
  • PHP
    • 未記載(おそらく5.5以上)
  • C#
    • .NET Standard 2.0/.NET Framewor 4.5
  • TypeScript
    • 未記載
  • C++
    • 未記載

API

SDKだけでなくAPIも用意されています。
イベントリソースやイベントバスの管理など必要な機能に対応したAPIがあります。
API機能一覧

Event Bridgeの利用手順

事前準備は別として、どのパターンの利用シーンでも大体下記の様な流れになります。

  1. カスタムイベントバスの作成
  2. カスタムイベントソースの作成
  3. イベントルールの作成
  4. イベントの公開(Publish)
    利用シーンによっては、RAMロールの作成やポリシーの変更などが手順として含まれます。
    チュートリアルとして、7パターン手順がドキュメントとして用意されているのでやりたい事と似ているパターンを探して試してみてください。
    チュートリアル

まとめ

上記の内容ですと、イメージが掴みにくいかもしれません。
その場合は利用イメージを作るために、こちらのベストプラクティスをまずは参考にしてみてください。
また、CloudEventsに基づいているのでマルチクラウド構成の対応なども今後利用シーンとして増えてくるかと思います。

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?