Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
メディアドゥ Go Conference 2021 スポンサーセッション/gocon-2021...
Search
kent-hamaguchi
April 24, 2021
Technology
1
11k
メディアドゥ Go Conference 2021 スポンサーセッション/gocon-2021-mediado
Go Conference 2021 "Go"ldスポンサーにて登壇した際のスライドです。
Go Conference 公式ページ
https://gocon.jp/
kent-hamaguchi
April 24, 2021
Tweet
Share
More Decks by kent-hamaguchi
See All by kent-hamaguchi
メディアドゥ Amazon Personalize in AWS メディアセミナー Q1/mediado-amazon-personalize-aws-media
kenthamaguchi
0
1.4k
MediaDo DynamoDB活用事例/mediado-dynamodb-usecase
kenthamaguchi
0
1.2k
MediaDo.go #2 Clean Architectureとの付き合い方/mediado-go-2-clean-architecture
kenthamaguchi
2
1.7k
Infra Study Meetup #5 メディアドゥスポンサーセッション/infra-study-meetup-5-mediado
kenthamaguchi
0
780
JAWS DAYS 2020 メディアドゥスポンサーセッション/jaws-days-2020-mediado
kenthamaguchi
1
1.8k
OOC 2020 メディアドゥ スポンサーセッション/ooc_2020_mediado
kenthamaguchi
0
540
MediaDo.go #1 レガシーに立ち向かう / mediado-go-1-vs-legacy
kenthamaguchi
0
1.2k
MediaDo.go #1 GopherCon 2019 参加レポート / mediado-go-1-gophercon-2019
kenthamaguchi
1
1.2k
Go conf 2019 spring, sponsor session "Go初導入の組織で、社内外へ貢献していくために実施した、2つのこと" / go-conf-2019-spring-sponsor-session-mediado
kenthamaguchi
1
490
Other Decks in Technology
See All in Technology
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
150
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
400
kargoの魅力について伝える
magisystem0408
0
210
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
530
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
290
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
230
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
100
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
280
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
490
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
110
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
250
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
5
210
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
Bash Introduction
62gerente
608
210k
Producing Creativity
orderedlist
PRO
341
39k
How to Ace a Technical Interview
jacobian
276
23k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
GitHub's CSS Performance
jonrohan
1030
460k
A Modern Web Designer's Workflow
chriscoyier
693
190k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
RailsConf 2023
tenderlove
29
940
Transcript
Go Conference 2021 メディアドゥ スポンサーセッション Go 活用事例の紹介
2012年 メディアドゥ入社 (新卒採用) 書店システムの開発担当 濱口賢人 名前 経歴 自己紹介
メディアドゥについて
最先端のテクノロジーにより電子書籍の流通事業を推進し、 電子書籍市場、ひいては出版市場全体の拡大に貢献することを 目指しています。 メディアドゥとは
メディアドゥとは
電子書籍の取次事業 国内シェアNo.1 東証一部上場 エンジニアは約100名 メディアドゥとは
Go 活用事例の紹介
メディアドゥ 配信サービス 事例 1つ目 数あるコンテンツを書店向けに取りまとめ、 オンラインでサイトやアプリへ コンテンツ本体を配信するシステム
取扱コンテンツ数 200万点以上 配信件数 数百億リクエスト/月 メディアドゥ 配信サービス システム規模
7万リクエスト/秒 ピークタイムのリクエスト頻度 メディアドゥ 配信サービス システム規模
• 元々は Java で開発された旧システムが配信処理をしていた • システム刷新に伴い Java から Go へ言語を変更
◦ パフォーマンス自体は元々出せていたが、開発効率等から Go を選択 • コンテナ (AWS ECS) に Go 製のサーバを実行している • Go の強みを活かして、日々開発と運用を続けている ◦ パフォーマンスを活かした大量のリクエスト処理 ◦ Go のシンプルな言語構文、チームでの開発 ◦ コンテンツデータの取り込みなど、複雑なビジネス要件を実装 メディアドゥ 配信サービス まとめ
MDCMS-SD 事例 2つ目 電子書店を構築・運用するために、 課金や書籍の閲覧などを提供する 電子書店ウェブサイトの構築システム
電子書店(サイト)数 約100書店 提供内容 BtoC 領域 会員登録 課金/ポイント管理 書籍購入/閲覧 MDCMS-SD システム規模
MDCMS-SD システム切替戦略 MDCMS-SD (Java, PHP) md-dc (旧基幹システム) 従来 MDCMS-SD (Java,
PHP) 中間システム (Go) 現在 配信サービス
MDCMS-SD システム切替戦略 MDCMS-SD (Java, PHP) 中間システム (Go) 現在 配信サービス Java
と PHP で構築されたシステムを更に改修するより、 md-dc と同じAPIを持ったシステムを間に追加。 改修の影響範囲の縮小と、テスタビリティの向上を狙った。 (ストラングラーパターンに近い設計 )
MDCMS-SD システム切替戦略 中間システム (Go) 中間システムの中身自体も マイクロサービスで構築 コンテンツの 購入 コンテンツの ダウンロード
コンテンツの メタデータ登録 コンテンツの サムネイル配置
• システム境界として分かれていたシステムの置き換えを Go で実装した • メディアドゥ 配信サービスと同様に、パフォーマンスと可読性の利点を実感 MDCMS-SD は登壇者である濱口の担当システムのため、詳細に踏み込んだ内容は下記。 •
型定義、型推論が使いやすく、保守性に優れる • 言語構文がシンプルなため、若手メンバーの学習も早かった • Go Modules や テスト機能など、エコシステムが標準で整っており、使いやすい • インターフェース と それを満たす 構造体 の関係性が便利 ◦ Clean Architecture を取り入れており、かなりマッチした MDCMS-SD まとめ
コミなび リニューアル 事例 3つ目 メディアドゥが運営する 電子書店「コミなび」を リニューアルし、システムを刷新
コミなび リニューアルについて 別途発表したスライドをご覧ください 10年続いている電子書店をリニューアルした話 https://speakerdeck.com/tschy/jaws-days-2021
メディアドゥでは、BtoB や BtoC、 既存システムの拡張 や 新規構築 まで、 様々なシステムへ Go を導入しています。
それぞれのケースで Go の強みを実感しています! まとめ
「テクノロジーで出版業界を 盛り上げていきたい」 こちらに共感・興味をお持ちの方は、 是非とも一緒に エンジニアリングしていきましょう! 最後に
ひとつでも多くのコンテンツを、ひとりでも多くの人へ 著作物の健全なる創造サイクルの実現 VISION MISSION
Engineer Engineering Manager Product Owner We’re Hiring ! https://recruit.mediado.jp/
None