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
m3.comを支える巨神の話 / atlas-in-m3
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
progrhyme
May 22, 2018
Technology
0
2.3k
m3.comを支える巨神の話 / atlas-in-m3
Healthtech Meetup #1で行ったLT資料です。
progrhyme
May 22, 2018
Tweet
Share
More Decks by progrhyme
See All by progrhyme
shelp - brief introduction
progrhyme
0
76
実践RDBMS〜PostgreSQL編〜
progrhyme
7
130k
Other Decks in Technology
See All in Technology
ヘルシーSRE
tk3fftk
2
230
Secure Boot 2026 - Aggiornamento dei certificati UEFI e piano di adozione in azienda
memiug
0
130
自動テストが巻き起こした開発プロセス・チームの変化 / Impact of Automated Testing on Development Cycles and Team Dynamics
codmoninc
1
970
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Devinを導入したら予想外の人たちに好評だった
tomuro
0
840
Snowflakeデータ基盤で挑むAI活用 〜4年間のDataOpsの基礎をもとに〜
kaz3284
1
330
EMからVPoEを経てCTOへ:マネジメントキャリアパスにおける葛藤と成長
kakehashi
PRO
6
640
組織のSREを推進するためのPlatform EngineeringとEKS / Platform Engineering and EKS to drive SRE in your organization
chmikata
0
180
社内でAWS BuilderCards体験会を立ち上げ、得られた気づき / 20260225 Masaki Okuda
shift_evolve
PRO
1
160
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
三菱UFJ銀行におけるエンタープライズAI駆動開発のリアル / Enterprise AI_Driven Development at MUFG Bank: The Real Story
muit
11
20k
メタデータ同期に潜んでいた問題 〜 Cache Stampede 時の Cycle Wait を⾒つけた話
lycorptech_jp
PRO
0
140
Featured
See All Featured
Accessibility Awareness
sabderemane
0
71
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
250
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.4k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
430
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
210
GraphQLとの向き合い方2022年版
quramy
50
14k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
200
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
310
The Pragmatic Product Professional
lauravandoore
37
7.2k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
80
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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