Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
m3.comを支える巨神の話 / atlas-in-m3
Search
progrhyme
May 22, 2018
Technology
2.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
m3.comを支える巨神の話 / atlas-in-m3
Healthtech Meetup #1で行ったLT資料です。
progrhyme
May 22, 2018
More Decks by progrhyme
See All by progrhyme
shelp - brief introduction
progrhyme
0
88
実践RDBMS〜PostgreSQL編〜
progrhyme
7
130k
Other Decks in Technology
See All in Technology
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
160
映像変換サーバーなしで端末内でHLSを生成してライブ配信
hikarusato
0
130
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
3
550
Reactの設計論
uhyo
24
14k
AIエージェントを最高のパートナーに育てる方法|評価と判断軸を育てる5つのステップ
koichiaoki
1
150
Claude Code本って、 読む必要あるの?
oikon48
2
480
ユーザー価値を届け続けるためにウォンテッドリーが大切にしている文化
kotaminato
0
180
品質と信頼性を地続きにする
grimoh
2
800
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
440
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
5
640
Minecraft JavaのMODをSwiftで作る
1mash0
0
180
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
A Tale of Four Properties
chriscoyier
163
24k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
700
The Cult of Friendly URLs
andyhume
79
7k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Thoughts on Productivity
jonyablonski
76
5.4k
Designing for humans not robots
tammielis
254
26k
Music & Morning Musume
bryan
48
7.4k
How to train your dragon (web standard)
notwaldorf
97
6.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Making the Leap to Tech Lead
cromwellryan
135
10k
Transcript
m3.comを支える巨神の話 2018/5/22 Healthtech Meetup #1 @progrhyme 1
自己紹介 ➢ @progrhyme ◦ https://github.com/progrhyme ◦ https://twitter.com/progrhyme ➢ 職歴 ◦
〜2017 Oct. @DeNA ◦ 〜現在 @M3 ➢ 担当: インフラ 2
m3.com : https://www.m3.com 3 日本最大級の医師プラットフォーム
会員トップページ(ログイン後LP) 4
会員トップページ(ログイン後LP) 5 ヘッダー メガメニュー CA RHS ハイライト イベント枠 コンテンツエリア
m3.com主要機能 ➢ MR君 ➢ Web講演会 ➢ ワンポイントeディテール ➢ QOL君 ➢
m3 Point Club ➢ Select(会員優待) ➢ アンケート ➢ メールマガジン ➢ ニュース ➢ ジャーナル 6 ➢ ストア(EC) ➢ 医師求人 ➢ Doctors Community ➢ カンファレンス ➢ 治験 ➢ G-TAC ➢ ...and so on. 実際は複数のサイトの集合体。 m3.comに登録することで、多くの機 能が利用できる
2015年に大規模リニューアル 7
リニューアル前のシステム構成イメージ 8 www.m3.com xxx.m3.com mrkun.m3.com httpd + Resin quiz その他
バックエンド Octoparts 問題点: ➢ 複雑なサービス間通信 ➢ ビュー要素を再利用できない ➢ API Aggregator(=Octoparts)はあった が、フル活用できていなかった httpd + Tomcat API Aggregator httpd + Play m3dev/octoparts
リニューアル後のシステム構成イメージ 9 www.m3.com mrkun.m3.com Atlas Octoparts Play news quiz その他
バックエンド xxx.m3.com ➢ www.m3.comの新しいフロントエンド ◦ 主要な多くの画面でHTML生成を担当 ➢ 全サイトの共通HTMLパーツをAPIとして提供 ◦ ヘッダー、フッター、メニュー等 ➢ DBを持たず、Octoparts経由でデータ取得 NEW httpd DB直参照していたものをAPI化
Atlas導入の効果 ➢ UIパーツの再利用性の向上 ◦ 共通コンポーネントをAtlasで一元管理することで、各サー ビスで再実装が不要に ➢ AtlasのパーツAPIにより、サービス間連携が標準化 された ◦
ビュー要素を提供する側も利用する側も共通のJSON Schemaに沿って開発すれば良い ◦ Octoparts経由でAPIコール 10
Octoparts + HAProxy 11 httpd + Play + HAProxy L
B Octoparts→APIリクエスト時にHAProxyを経 由
Octoparts + HAProxy 12 httpd + Play + HAProxy L
B モノによっては外部からアクセスされるサー ビスだが、遅いリクエストによってhttpdプロセ スを滞留させたくない
現在の課題 ➢ 一部、リニューアル前のページがAtlasに乗っていな い ◦ 技術的負債になっているのでなんとかしたい ➢ Octoparts利用増によるサービス間通信の複雑化 ◦ A
=> B => A のようなフローもあるらしい ◦ トレーシングを強化したい ▪ Zipkinを入れているが、ログ量等の問題で一部に留まっている 13
まとめ ➢ m3.comは歴史のある複雑なシステム ➢ 折を見てアーキテクチャーの刷新を行い、レガシー化 や技術的負債と戦っている ➢ まだまだ課題もある 14
We are hiring! https://jobs.m3.com/engineer/ 15
ご清聴ありがとうございました。 16