2017-05-17 7 views
0

埋め込みトポロジでは、Hazelcastロックがフェイルセーフであることがわかりました。 hazelcastドキュメント (http://docs.hazelcast.org/docs/3.6/manual/html-single/index.html#lock)で述べたように:クライアント/サーバートポロジでロックがまだ安全に失敗しますか?

...メンバーがクラスタを離れるときにそれらのロックがすぐにライブのメンバーのために 利用できるように、その 死んだメンバーによって取得したすべてのロックが削除されます。 ..

埋め込みトポロジでこの動作をテストできます。インスタンスが停止すると、関連するすべてのロックが正常に解放されます。

クライアント/サーバートポロジにも同じ動作が適用されますか?つまり、ロックを取得するクライアントがダウンした場合、デッドクライアントによって取得されたロックはクラスタ内で解放されていますか?

参考

答えて

1

はいクライアントは、コマンドをクラスタノードにリダイレクトするプロキシです。それはまさにその理由で同じ挙動になります。一般的に、クライアント/サーバーアーキテクチャが推奨されています:)

+0

これは他のすべての動作に当てはまると思いますか? com.hazelcast.core.HazelcastInstanceインターフェイスに対してコードを作成し、埋め込みモード(Hazelcast.newHazelcastInstance())とクライアントモード(HazelcastClient.newHazelcastClient())の両方で同じapiであるため、 ?クライアントとサーバーのアーキテクチャを推奨する理由は何ですか? :) – simpleusr

+0

(残念ながら)いくつかの例外は、ノード上のクライアントとは若干異なります。これはHazelcast 4で(一定の時点で)修正されているはずですが、下位互換性のために残っています。とにかくこれらの事はまれです。 - 複数の理由でクライアントサーバーを推奨し、gcを最適化するための最適なオプション、ストレージとビジネスロジックの間の明確な分離、独立したスケーラビリティ、ホワイトペーパーがあります:) – noctarius

+0

こんにちはnoctarius。詳細な説明に感謝します。ホワイトペーパーへのリンクをお願いしますか?最後に、クライアント/サーバーモードで複数のアプリケーションを提供するための最良のクラスタトポロジとは何ですか?実際に私は別の質問でこれを尋ねた:http://stackoverflow.com/questions/44039220/hazelcast-what-is-the-best-cluster-topology-to-serve-multiple-applications-inよくある質問 – simpleusr

関連する問題