次に、マルチプロセスのファイル書き込みプログラムが必要です
直接書き込む場合は、プロセスがファイル ハンドルをロックしていることを確認する必要があります。
今度は Spring を通じてシングルトン書き込みサービスを登録したいです複数のプログラムがファイルを書き込むとき、それらは Spring インターフェースにファイルを書き込むよう要求します。
この解決策は実現可能ですか?
それともシングルトン RPC サービスを使用しますか?
単一インスタンスにより、ファイルの書き込み時にインスタンスであることが保証され、マルチスレッドおよびマルチプロセスの同期の問題が回避されます。
ringa_lee2017-05-17 10:03:08
これはまだ不可能だと思います。基本的に、Spring はインスタンスを管理するだけであり、スレッドの安全性の問題は依然として自分で解決する必要があります。
さらに、複数のプロセスを介してファイルを書き込むことについて話しているのは、RPC が単なるマルチスレッド方式ですよね。実際、本質はスレッドセーフなファイル書き込みインターフェイスを実装することです。シングルトンでも問題ありません。独自のインスタンスをロックとして使用するだけです。
習慣沉默2017-05-17 10:03:08
zookepper の特徴は、同じ znode に正常に書き込むことができるのは 1 つのクライアント (プロセス) だけであること、または、データベースを使用して同じ主キーを書き込むことができるのは 1 つのクライアント (プロセス) だけであることです。