概要
会社の公式ブログに投稿したのでその紹介です。
AWAではサブスクリプション(定期購読)型の課金体系をとっているのでそういったサービスを出す方の参考になれば幸いです。
その他説明
記事内では説明していませんが、gRPCの負荷分散をするために↓で紹介したようなSidecarパターンを取っていたり、
そのService DiscoveryとしてConsulを利用していたり、
各webhookの口としてはgrpc-gatewayでHTTPを話せるgatewayを用意したり
また細かい点でいうとRedisによるAppStoreへの自動更新スケジューラではExponential Backoffを実装したりと、色々な技術を使い課題を解決していきました。
この技術ブログは学んだことをアウトプットすることで技術を正しく理解し「とりあえず使ってみた」レベルでなくちゃんと本番レベルで運用できるようにと書いています。
そのため検証に非常に時間がかかりましたが、ある程度は拡張しやすいシステムを構築できたと思います。
ただ分散トレーシングであったりサービス間通信の暗号化であったりとまだまだやりたいことも多いため、引き続き頑張っていこうと思います。