m3.comを支える巨神の話 / atlas-in-m3

m3.comを支える巨神の話 / atlas-in-m3

Healthtech Meetup #1で行ったLT資料です。

A609c9703a05132ee19aab2a2e0fb5a4?s=128

progrhyme

May 22, 2018
Tweet

Transcript

  1. 6.

    m3.com主要機能 ➢ MR君 ➢ Web講演会 ➢ ワンポイントeディテール ➢ QOL君 ➢

    m3 Point Club ➢ Select(会員優待) ➢ アンケート ➢ メールマガジン ➢ ニュース ➢ ジャーナル 6 ➢ ストア(EC) ➢ 医師求人 ➢ Doctors Community ➢ カンファレンス ➢ 治験 ➢ G-TAC ➢ ...and so on. 実際は複数のサイトの集合体。 m3.comに登録することで、多くの機 能が利用できる
  2. 8.

    リニューアル前のシステム構成イメージ 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
  3. 9.

    リニューアル後のシステム構成イメージ 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化
  4. 11.

    Octoparts + HAProxy 11 httpd + Play + HAProxy L

    B Octoparts→APIリクエスト時にHAProxyを経 由
  5. 12.

    Octoparts + HAProxy 12 httpd + Play + HAProxy L

    B モノによっては外部からアクセスされるサー ビスだが、遅いリクエストによってhttpdプロセ スを滞留させたくない
  6. 13.

    現在の課題 ➢ 一部、リニューアル前のページがAtlasに乗っていな い ◦ 技術的負債になっているのでなんとかしたい ➢ Octoparts利用増によるサービス間通信の複雑化 ◦ A

    => B => A のようなフローもあるらしい ◦ トレーシングを強化したい ▪ Zipkinを入れているが、ログ量等の問題で一部に留まっている 13