11 ポイント 投稿者 xguru 2024-12-07 | 2件のコメント | WhatsAppで共有
  • AIベースのオープンソース顧客エンゲージメントプラットフォームで、データを活用して大規模にパーソナライズされたユーザージャーニーを設計できるよう支援
    • Customer.io のオープンソース代替
  • 既存ツールの問題点: 高コスト、既存のコミュニケーションスタック全体を変更しなければならない難しさ
  • LimeJourney は次の2つの原則を中心に設計されている:
    • オープンソースのアクセシビリティ: 開発者と小規模チームは無料で利用可能。マネージドソリューションを好む場合はクラウド版も提供
    • 既存統合のサポート (BYOI): 既存ツールとの統合をサポートし、スタック全体の置き換えは不要

主な機能

  • AIベースのインサイト: AIモデルを使って顧客理解を支援
  • ビジュアルジャーニービルダー: 直感的なドラッグ&ドロップインターフェースで複雑なユーザージャーニーを作成可能
  • 動的セグメンテーション: ユーザーイベントや属性を基準にセグメントを作成可能
    • 例: "直近30日間購入していないユーザー"
  • 統合機能: 既存ツールやサービスと接続可能で、データ収集関連の統合機能を継続的に追加中

LimeJourney の技術スタック

  • フルスタックモノレポアプリケーション(TypeScriptで記述)
  • 主要技術:
    • Turbo: モノレポ管理
    • Next.js: Webアプリ開発
    • TailwindCSS: スタイリング
    • Express: API開発
    • TSOA: APIルートとOpenAPIドキュメントの生成
    • PostgreSQL: 主要データストア
    • Redis: Journey-Trigger マッピング管理用のKVストア
    • ClickHouse: 大規模なイベント/エンティティデータ管理とリアルタイムセグメンテーション
    • Temporal: ビジュアルジャーニービルダーで作成されたジャーニーを実行
    • Kafka: 中央イベントバス(Upstash でホスティング)

バックエンドアーキテクチャ

中核コンポーネント

  • イベントストリーミングのバックボーン(Kafkaベース)
    • ユーザーおよびシステムイベントを高速処理
    • システム内モジュール間の非同期通信をサポート
    • イベントソーシングによってデータ整合性とリプレイ可能性を提供
  • リアルタイムセグメンテーションエンジン
    • ClickHouse の高性能クエリ機能を活用
    • ユーザー属性と行動に基づく動的セグメントを作成
    • 大規模環境でも高速なセグメント計算が可能
  • ジャーニーオーケストレーション
    • Temporal ベースで複雑なユーザージャーニーを管理
    • ワークフローの信頼性を保証し、障害時の復旧が可能
    • ジャーニーの一時停止、再開、修正をサポート
  • エンティティ管理
    • ユーザープロフィールと属性を管理
    • エンティティ変更イベントを発行
    • プラットフォーム全体で統合されたユーザーデータを提供

データフローと相互作用

  1. ユーザー行動(例: ページビュー、購入)がイベントを生成して Kafka に送信
  2. イベントは ClickHouse に保存され、大規模データ分析を支援
  3. セグメンテーションエンジンが最新イベントとデータに基づいてリアルタイムにユーザーセグメントを更新
  4. セグメンテーションの変更または特定イベントがジャーニーオーケストレーションをトリガー
  5. Temporal がジャーニーを管理し、次のような処理を実行:
  • ユーザーデータとイベント履歴を照会
  • 現在のセグメンテーション状態を確認
  • 外部アクションをトリガー(例: メール、プッシュ通知の送信)
  1. 主要な処理または状態変更時に新しいイベントを生成し、再びシステムへ送信

2件のコメント

 
kandk 2024-12-09

Kafka はこのような大規模イベントに適しているでしょうか?

 
yangeok 2024-12-16

非同期処理が必要だから使うので、適しているのではないでしょうか?