コードを更新するとき、またはプロセスまたはホットスワップ コードを再起動するときに、ソケット接続を維持することは可能ですか?
私が取り組んでいる次世代の分散サーバー アプリケーション (現在は node.js で記述) について考えており、サーバーとリモート クライアントが接続している限り、tcp ソケットを開いたままにできるようにしたいと考えています。サーバー コードが更新された場合や、特定のインスタンスが再起動または消失した場合でも、ネットワーク接続を維持します。
次のいずれかが可能ですか?
- コードが再起動する前に、ソケット情報を保存しますが、リモート エンドは開いたままです。これはCで完全に実行できるようです。
- コードが再起動する前に、ソケット情報を別のインスタンスまたはプロセスに送信しますか?
- Erlang の場合、特定のコードがホット スワップされた場合、データ構造と接続は乱れませんか?
- いくつかのタプル スペースにソケットを分散します。私はこれについて何も知りませんが、少なくとも面白そうです。
私が見るべき参考資料はありますか?Erlang はこのシステムの将来のバージョンの有力な候補のように思えますが、おもちゃの例以外には使用していません。
編集:Linuxで実行