マイクロサービス化するならこれを読め!モノタロウのマイクロサービス化と速度向上の秘策 #pyconjp 2016 #pyconjp_201

マイクロサービスを利用する側のパフォーマンス向上策 Atsushi Kanaya マイクロサービスを利用する側として処理速度を向上するために、非同期IOやmultiprocessingを使った場合の事例を紹介します。 続きを読む
2
Atsushi Kanaya @todogzm

とど、です。ソフトウェアエンジニアしてます。Java, Python, Go, Awkあたりをよく書きますが、心の支えはLispです。

https://t.co/UtWyxq9JIx


モノタロウ侍 @monotarosamurai

我が社のエース 金谷敦志が登壇するモノ!c(・∀・)c #pyconjp #pyconjp_201 #monotaro

2016-09-21 11:03:28
られ @rarewin

#monotaro の人の発表なう。 #pyconjp #pyconjp_201 Jenkins的なポーズしたモノタロウ侍、はじめて見た気がする……。

2016-09-21 11:05:43
トゥギャッター開発まとめ @tg__dev

#pyconjp #pyconjp_201 マイクロサービス化により、各画面作成時の業務ロジックの統一などが図れる

2016-09-21 11:08:53
トゥギャッター開発まとめ @tg__dev

#pyconjp #pyconjp_201 しかし結果としてAPIコール回数が増え、とある画面では最大12回がコールされている→負荷が集中し、レスポンス待ちが発生する

2016-09-21 11:10:21
トゥギャッター開発まとめ @tg__dev

#pyconjp #pyconjp_201 対策1.memcached アプリケーションサーバーに共有することでAPIコールの5-6割がキャッシュから呼ばれるように

2016-09-21 11:11:09
トゥギャッター開発まとめ @tg__dev

#pyconjp #pyconjp_201 在庫などのリアルタイム性の高い情報、ユーザー情報などはキャッシュしない

2016-09-21 11:13:19
られ @rarewin

在庫情報とかはキャッシュには載せない。 #pyconjp #pyconjp_201

2016-09-21 11:13:24
トゥギャッター開発まとめ @tg__dev

#pyconjp #pyconjp_201 APIコールといえばIO処理 APIコール→レスポンス→お客様を待たせてしまう

2016-09-21 11:14:39
dtak1114|daisuket🐰 @dtak1114

#pyconjp_201 マイクロサービス化でAPIコールが増えるというのは確かに盲点だった

2016-09-21 11:17:10
トゥギャッター開発まとめ @tg__dev

#pyconjp #pyconjp_201 gevent greenletを用いたコルーチンベースのネットワーキングライブラリ Futureを仕様 標準ライブラリを非同期IOに置き換えるモンキーパッチ

2016-09-21 11:19:42
dtak1114|daisuket🐰 @dtak1114

#pyconjp_201 geventを使うと標準ライブラリのIO周りのモジュールが非同期化できる。導入が楽そう

2016-09-21 11:22:23