Upgrade to Pro — share decks privately, control downloads, hide ads and more …

メディアドゥ Go Conference 2021 スポンサーセッション/gocon-2021-mediado

メディアドゥ Go Conference 2021 スポンサーセッション/gocon-2021-mediado

Go Conference 2021 "Go"ldスポンサーにて登壇した際のスライドです。

Go Conference 公式ページ
https://gocon.jp/

kent-hamaguchi

April 24, 2021
Tweet

More Decks by kent-hamaguchi

Other Decks in Technology

Transcript

  1. • 元々は Java で開発された旧システムが配信処理をしていた • システム刷新に伴い Java から Go へ言語を変更

    ◦ パフォーマンス自体は元々出せていたが、開発効率等から Go を選択 • コンテナ (AWS ECS) に Go 製のサーバを実行している • Go の強みを活かして、日々開発と運用を続けている ◦ パフォーマンスを活かした大量のリクエスト処理 ◦ Go のシンプルな言語構文、チームでの開発 ◦ コンテンツデータの取り込みなど、複雑なビジネス要件を実装 メディアドゥ 配信サービス まとめ
  2. MDCMS-SD システム切替戦略 MDCMS-SD (Java, PHP) 中間システム (Go) 現在 配信サービス Java

    と PHP で構築されたシステムを更に改修するより、 md-dc と同じAPIを持ったシステムを間に追加。 改修の影響範囲の縮小と、テスタビリティの向上を狙った。 (ストラングラーパターンに近い設計 )
  3. • システム境界として分かれていたシステムの置き換えを Go で実装した • メディアドゥ 配信サービスと同様に、パフォーマンスと可読性の利点を実感 MDCMS-SD は登壇者である濱口の担当システムのため、詳細に踏み込んだ内容は下記。 •

    型定義、型推論が使いやすく、保守性に優れる • 言語構文がシンプルなため、若手メンバーの学習も早かった • Go Modules や テスト機能など、エコシステムが標準で整っており、使いやすい • インターフェース と それを満たす 構造体 の関係性が便利 ◦ Clean Architecture を取り入れており、かなりマッチした MDCMS-SD まとめ