疎結合でスキーマ駆動開発を実現するイベントバスの設計
Tech
セッション概要
急成長するサービス基盤では、開発者が安心して機能追加できるプラットフォームが欠かせません。 hacomonoでは異なる可用性が要求されるサービスを個別のマイクロサービスに切り出すことで、開発速度と可用性の両方を満たしています。 マイクロサービス化を行うためには個々のサービスが疎結合で、登録されたスキーマのイベントだけがやり取りされるイベントバスが必要でした。 hacomonoでは「スキーマ駆動イベントバス」を設計しました。Protocol Buffersを信頼の基点とし、Fire-and-Forgetで送信側と受信側の依存を排除しています。 CIでスキーマの互換性破壊を検知し、破壊的変更のデプロイの防止。 不正なイベントの発行や、開発者の考慮漏れによるループイベントを署名とバリデーションで遮断してカスケード障害を防止します。 本セッションでは、その設計思想と段階的導入プロセスを共有します。
キーワード
プラットフォームエンジニア - Platform Engineer アプリケーション/プロダクト開発者 - Developer ITアーキテクト - Architect CTO/技術部門の役員 - CTO エンジニアリングマネージャー - Engineering Manager 拡大期(利用者を増やしつつ、課題に直面している) - Growth
Share: