志田雅貴

座右の銘は、 初心を忘れず、所信をつらぬく 小学生の時に考えた言葉です。矛盾しているような言葉にも聞こえますが、このようなパラメータの中を自由に飛び回れるような考え方が大好きです。

nginxのマスタプロセスとワーカプロセス

  • 備忘録です。マスタプロセスやワーカプロセスについて確認用

nginxはマスタプロセスとワーカプロセスのマルチプロセス構成で稼働する。

  • つまり、マスタプロセスは1つ、ワーカプロセスは設定することで複数起動可能。

マスタプロセスについて

  • マスタプロセスにシグナルを送ることでnginx全体のプロセスを制御する。
  • 各ワーカプロセスはマスタプロセスが受信したシグナルの種類に応じて各ワーカプロセスにもシグナルを送る。

ワーカプロセスについて

  • 通常シングルスレッドで動作しますが、I/O MultiplexingノンブロッキングI/Oを利用することで複数のクライアントとの入出力を並行して行うことを可能。
  • ワーカプロセス自体は複数起動可能なので容易にスケールさせることができる。

◆スケーリング【scaling】スケールする
情報システムの分野では、装置やソフトウェア、システムなどの性能や処理能力を、要求される処理量に合わせて増強したり縮減したりすることをスケーリングという。 「IT用語辞典」より

マスタプロセスとワーカプロセスの流れ

①シグナルを送る(SIGTERM,SIGQUIT,SIGHUPなど)
②マスタプロセスがシグナルを受け取る
③マスタプロセスが受信したシグナルの種類に応じて各ワーカプロセスにもシグナルを送る
④複数のワーカプロセスが受信

twitter.com

ブランチ戦略

git-flow/github-flow

git-flow

  • メインブランチを2つ (中央リポジトリ)
    • master (リリース用)
    • develop (開発用)
  • サポートブランチを3つ(開発メンバーのリポジトリ)
    • feature (developから派生。機能開発用。機能開発が終了次第、developにマージされて消える)
    • release (developから派生。リリース準備用。リリースが終われば、masterとdevelopにマージされて消える)
    • hotfix(masterから派生。リリース済みの製品に緊急対応用。masterにマージされ、タグをうつ)

github-flow

  • masterのものはすべてリリース可能
  • 新しく何かをするときはmasterから直接ブランチを作成
  • 作成したブランチはローカルマシンにコミットして、リモートリポジトリにも同じ名前のブランチとして定期的にPush
  • 開発が完了したらmasterへPull Requestを
  • Pull Requestがレビューされたらmasterにマージし、その場で本番環境にリリースする

*チーム開発実践入門 参考

twitter.com

githubのリポジトリ取得

対象

リポジトリのクローン

Githubでクローンしたいリポジトリページに行く

②「Clone or download」をクリック

f:id:shidamasataka:20170814001750p:plain

ssh をコピー

f:id:shidamasataka:20170814001743p:plain

④ローカルのターミナルでgit cloneを実行

git clone git@github:〇〇

リポジトリから作成したい方はこちら。 ↓↓↓

shidamasataka.hatenablog.com

twitter.com