Slide 1

Slide 1 text

Go Conference 2021 メディアドゥ スポンサーセッション Go 活用事例の紹介

Slide 2

Slide 2 text

2012年 メディアドゥ入社 (新卒採用) 書店システムの開発担当 濱口賢人 名前 経歴 自己紹介

Slide 3

Slide 3 text

メディアドゥについて

Slide 4

Slide 4 text

最先端のテクノロジーにより電子書籍の流通事業を推進し、 電子書籍市場、ひいては出版市場全体の拡大に貢献することを 目指しています。 メディアドゥとは

Slide 5

Slide 5 text

メディアドゥとは

Slide 6

Slide 6 text

電子書籍の取次事業 国内シェアNo.1 東証一部上場 エンジニアは約100名 メディアドゥとは

Slide 7

Slide 7 text

Go 活用事例の紹介

Slide 8

Slide 8 text

メディアドゥ 配信サービス 事例 1つ目 数あるコンテンツを書店向けに取りまとめ、 オンラインでサイトやアプリへ コンテンツ本体を配信するシステム

Slide 9

Slide 9 text

取扱コンテンツ数 200万点以上 配信件数 数百億リクエスト/月 メディアドゥ 配信サービス システム規模

Slide 10

Slide 10 text

7万リクエスト/秒 ピークタイムのリクエスト頻度 メディアドゥ 配信サービス システム規模

Slide 11

Slide 11 text

● 元々は Java で開発された旧システムが配信処理をしていた ● システム刷新に伴い Java から Go へ言語を変更 ○ パフォーマンス自体は元々出せていたが、開発効率等から Go を選択 ● コンテナ (AWS ECS) に Go 製のサーバを実行している ● Go の強みを活かして、日々開発と運用を続けている ○ パフォーマンスを活かした大量のリクエスト処理 ○ Go のシンプルな言語構文、チームでの開発 ○ コンテンツデータの取り込みなど、複雑なビジネス要件を実装 メディアドゥ 配信サービス まとめ

Slide 12

Slide 12 text

MDCMS-SD 事例 2つ目 電子書店を構築・運用するために、 課金や書籍の閲覧などを提供する 電子書店ウェブサイトの構築システム

Slide 13

Slide 13 text

電子書店(サイト)数 約100書店 提供内容 BtoC 領域 会員登録 課金/ポイント管理 書籍購入/閲覧 MDCMS-SD システム規模

Slide 14

Slide 14 text

MDCMS-SD システム切替戦略 MDCMS-SD (Java, PHP) md-dc (旧基幹システム) 従来 MDCMS-SD (Java, PHP) 中間システム (Go) 現在 配信サービス

Slide 15

Slide 15 text

MDCMS-SD システム切替戦略 MDCMS-SD (Java, PHP) 中間システム (Go) 現在 配信サービス Java と PHP で構築されたシステムを更に改修するより、 md-dc と同じAPIを持ったシステムを間に追加。 改修の影響範囲の縮小と、テスタビリティの向上を狙った。 (ストラングラーパターンに近い設計 )

Slide 16

Slide 16 text

MDCMS-SD システム切替戦略 中間システム (Go) 中間システムの中身自体も マイクロサービスで構築 コンテンツの 購入 コンテンツの ダウンロード コンテンツの メタデータ登録 コンテンツの サムネイル配置

Slide 17

Slide 17 text

● システム境界として分かれていたシステムの置き換えを Go で実装した ● メディアドゥ 配信サービスと同様に、パフォーマンスと可読性の利点を実感 MDCMS-SD は登壇者である濱口の担当システムのため、詳細に踏み込んだ内容は下記。 ● 型定義、型推論が使いやすく、保守性に優れる ● 言語構文がシンプルなため、若手メンバーの学習も早かった ● Go Modules や テスト機能など、エコシステムが標準で整っており、使いやすい ● インターフェース と それを満たす 構造体 の関係性が便利 ○ Clean Architecture を取り入れており、かなりマッチした MDCMS-SD まとめ

Slide 18

Slide 18 text

コミなび リニューアル 事例 3つ目 メディアドゥが運営する 電子書店「コミなび」を リニューアルし、システムを刷新

Slide 19

Slide 19 text

コミなび リニューアルについて 別途発表したスライドをご覧ください 10年続いている電子書店をリニューアルした話 https://speakerdeck.com/tschy/jaws-days-2021

Slide 20

Slide 20 text

メディアドゥでは、BtoB や BtoC、 既存システムの拡張 や 新規構築 まで、 様々なシステムへ Go を導入しています。 それぞれのケースで Go の強みを実感しています! まとめ

Slide 21

Slide 21 text

「テクノロジーで出版業界を 盛り上げていきたい」 こちらに共感・興味をお持ちの方は、 是非とも一緒に エンジニアリングしていきましょう! 最後に

Slide 22

Slide 22 text

ひとつでも多くのコンテンツを、ひとりでも多くの人へ 著作物の健全なる創造サイクルの実現 VISION MISSION

Slide 23

Slide 23 text

Engineer Engineering Manager Product Owner We’re Hiring ! https://recruit.mediado.jp/

Slide 24

Slide 24 text

No content