Graceful RestartをNode.jsで試してみた      yosuke_furukawa
Graceful Restartとは • 直訳「優雅な再起動。」存在している接続を殺さずに再起動する方法。
考え方          Worker                   connectionCluster                           accept          Worker                co...
考え方                 Worker          fork            connectionCluster                                  accept             ...
考え方          old worker                       connection          old worker                       connectionCluster   old...
考え方restart event                old worker                             connection                old worker               ...
考え方restart event                             old worker        cluster.disconnect                connection               ...
考え方restart event                             old worker        cluster.disconnect                connection               ...
考え方restart event                             old worker        cluster.disconnect                connection               ...
考え方restart event                    old worker                    old worker                                 exit workers ...
イメージとしては・・・ こちらのレジにお並びください。    な、感じ。
Demo• http://localhost:8000/• ソースコード:https://gist.github.com/  3683651• より完成度の高いライブラリ  Qilin:https://github.com/atsuya/qilin
another solution• up モジュール(リクエスト時に毎回 Workerを割り振る考え方。Hotdeployに 最も近い方法。)• 多少性能に難あり。                    qilin         up tim...
Fin.• Graceful RestartでNodeを本番環境でも 活用して行きましょう。
Upcoming SlideShare
Loading in …5
×

Graceful restartをnode.jsで試してみた。

5,260 views

Published on

0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,260
On SlideShare
0
From Embeds
0
Number of Embeds
2,174
Actions
Shares
0
Downloads
14
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Graceful restartをnode.jsで試してみた。

    1. 1. Graceful RestartをNode.jsで試してみた yosuke_furukawa
    2. 2. Graceful Restartとは • 直訳「優雅な再起動。」存在している接続を殺さずに再起動する方法。
    3. 3. 考え方 Worker connectionCluster accept Worker connectionsMaster connection Worker connection
    4. 4. 考え方 Worker fork connectionCluster accept Worker connectionsMaster connection Worker connection
    5. 5. 考え方 old worker connection old worker connectionCluster old workerMaster connection
    6. 6. 考え方restart event old worker connection old worker connection Cluster old worker Master connection
    7. 7. 考え方restart event old worker cluster.disconnect connection old worker connection Cluster old worker Master connection
    8. 8. 考え方restart event old worker cluster.disconnect connection Stop accept old worker connection connections Cluster old worker Master connection
    9. 9. 考え方restart event old worker cluster.disconnect connection Stop accept old worker connection connections Cluster old worker Master connection new worker fork new worker Start accept connections new worker
    10. 10. 考え方restart event old worker old worker exit workers Cluster old worker Master new worker fork new worker Start accept connections new worker
    11. 11. イメージとしては・・・ こちらのレジにお並びください。 な、感じ。
    12. 12. Demo• http://localhost:8000/• ソースコード:https://gist.github.com/ 3683651• より完成度の高いライブラリ Qilin:https://github.com/atsuya/qilin
    13. 13. another solution• up モジュール(リクエスト時に毎回 Workerを割り振る考え方。Hotdeployに 最も近い方法。)• 多少性能に難あり。 qilin up time per reqs 2.332 [ms] 11.264 [ms] reqs per sec 4287.65 887.79
    14. 14. Fin.• Graceful RestartでNodeを本番環境でも 活用して行きましょう。

    ×