Upgrade to Pro — share decks privately, control downloads, hide ads and more …

microservices化に向けて

 microservices化に向けて

B7bf4e80841a44f921665e88d874f2c3?s=128

Hiroaki Ninomiya

July 22, 2015
Tweet

More Decks by Hiroaki Ninomiya

Other Decks in Technology

Transcript

  1. microservices化に向けて 2015/7/22 スペースマーケット 二宮啓聡

  2. 自己紹介 • 二宮啓聡 ◦ 株式会社スペースマーケット所属 ◦ http://blog.spacemarket.com/author/treby/ • 今日の内容 ◦

    モノリシックなシステムをmicroservices化していく上でど うするか、というご相談的な内容です。
  3. None
  4. サービスのフェーズ • 2014年4月 サービスリリース • 2015年2月 アプリ開発開始 • 2015年6月 アプリリリース

  5. 2014年4月 サービスイン MySQL Rails App

  6. 2015年2月 アプリ開発開始 MySQL Rails App ElasticSearch

  7. 2015年6月 アプリリリース MySQL Rails App (Web) ElasticSearch Rails App (API)

  8. 2015年6月 アプリリリース MySQL Rails App (Web) ElasticSearch Rails App (App)

    イマココ
  9. 向かいたい方向性 MySQL Rails App (Web) ElasticSearch Rails App (App)

  10. 向かいたい方向性 MySQL Rails App (Web) ElasticSearch Rails App (App) ……WebでActiveRecordべったりな部分をどうしようか

  11. 現状の問題点 • 別のシステムから同じDBを参照 ◦ シンプルに内部APIで通信する構成にしたい ◦ 何を使えば良いか

  12. いくつか検討 • 独自ライブラリ ◦ CookPadのGarageのようなもの • ActiveResource ◦ https://github.com/rails/activeresource •

    →既存コードを極力使いまわせるようにしたい ◦ ActiveRecordと同じような使い方ができるもの
  13. 現状の問題点 • カジュアルにviewなどからQueryが発行されい ている ◦ 1リクエストあたりのAPI通信量が読めない ◦ ボトルネックに確実になる…… • →事業的なPDCAとあわせてコードのリファクタリング

    ◦ concerns ◦ helper
  14. まとめ • 今から直面しそうな問題をちょっと共有してみま した。 ◦ モノリシックなシステムからmicroservices化していく上で の流れ ◦ 解決したらまた共有させてください