Skip to main content

イベント駆動設計

limはイベント駆動アーキテクチャを採用しています。すべての会計処理は、外部から流入するイベントをトリガーとして実行されます。

アーキテクチャ概要

イベントの流れ

1. イベントの取込

外部システムからイベントを受信します:

2. イベントの正規化

取込まれたイベントは共通フォーマットに正規化されます:

3. Judgment Engineによる処理

正規化されたイベントがJudgment Engineに渡され、仕訳が生成されます。

4. 仕訳の記帳

生成された仕訳がレジャーに記帳され、すべての財務データがリアルタイムに更新されます。

PG LISTEN/NOTIFY

limはPostgreSQLの LISTEN/NOTIFY をイベントバスとして使用します。シンプルさと信頼性を両立する設計です。
  • NOTIFY: イベントがDBに挿入されると通知を発行
  • LISTEN: ワーカーが通知を受信して処理を開始
  • Polling fallback: 通知を取りこぼした場合のポーリング
外部のメッセージブローカー(Kafka、RabbitMQ等)は使いません。PostgreSQLだけで完結するため、インフラがシンプルです。

イベントグラフ

イベント間の因果関係をグラフとして記録します:
これにより、任意の仕訳について「なぜこの仕訳が作られたのか」を完全に追跡できます。

冪等性

同じイベントが複数回処理されても結果は変わりません。イベントIDによる重複検知が組み込まれています。

次のステップ

Accounting = fn(events)

関数としての会計の設計思想。

AI Agent連携

AI AgentをイベントソースとしてGreen接続。