42148


お世話になります。

現在以下の４台のサーバでシステムを組んでいます。  
・2台のWebサーバ（Linux。PHPの実行。１号機、２号機と呼称）  
・1台のNFSサーバ（各Webサーバと接続）  
・1台のMySQLサーバ（各Webサーバから接続）

このとき「片方のWebサーバでPHPの処理を実行中、  
もう片方で同じスクリプトが実行され、処理が重複しないようにするために  
処理を待機させる（もしくは断念させる）」ことは可能でしょうか。  
（排他処理）

当初、プロセスが動いているかで判断しようとしたのですが  
よく考えると１号機のプロセスを２号機で参照できないため  
プロセスのあり／なしで判別できないことが分かりました。

よろしくお願いします。


CC BY-SA 3.0
2018-03-05T10:29:22.110
42142
2019-10-01T04:48:15.653
2019-10-01T04:48:15.653
2238
9238
question
php linux mysql
Webサーバx2、NFS、PHP、MySQL状況下で排他的処理を実現するには？


MySQL上に自作のジョブ管理テーブルを持たせて、そちらで管理すればよいのではないでしょうか。  
NFS上でロックファイルを作る案もありますが、ちょっと不安です（根拠はなく主観的なものです）。


CC BY-SA 3.0
2018-03-05T14:43:18.163
42148
2018-03-05T14:43:18.163
2238
42142
answer