- Postbackとは?: 広告媒体に成果発生のシグナルを送ること。媒体側ではこのシグナルを受け取り、キャンペーン最適化に活用する。
- AirbridgeにおけるPostbackの役割: 広告媒体にシグナルを送るだけでなく、third partyサービスにデータを送る機能も担っている。概念的にはwebhookという同じ技術だからである。
- 解決すべき課題: 今後、数千以上のサービスとの連携をより簡単にできる必要がある。そのためには、連携が非常に容易でなければならない。
- 連携システムで提供すべき機能:
- 収集されたイベントのうち、必要なイベントだけを送信できること
- 受信サーバーのAPI Specに合わせてHTTP payloadを構成できること
- 既存システムの問題点: ある程度templateに従って動作するシステムは作っていたが、追加実装が必要なものが発生するたびに保守コストがかかっていた。
- 中核技術
- Template Engine: filter、transformなどをtemplate engineで解決できる
- API呼び出しサーバーの分離: 非常に多くのwebhookを送る必要があるため、低コストでAPI呼び出しができるようGoで実装してサーバーを分離
- 全体システムアーキテクチャ
- サーバー間の通信にはkafkaを活用
- ビジネスロジックを持つwebhook構成サーバーはPythonで実装
- API呼び出しサーバーはGoで実装
- API呼び出しlogは再びkafkaに保存し、kafkaに保存されたデータはS3にも保存して、後から再度データを読み取れる
- 今後さらに改善したい点
- Graviton Instanceの適用: コスト削減が目的
- 新しい言語へのmigration: 同様にコスト削減が目的
まだコメントはありません。