2

私は、製品のSOAメカニズムとしてNServiceBusを使用して評価しています。パブリッシュ/サブスクライブパターンの使用を検討していますが、サブスクリプションサービスはすべてのサブスクリプションを保存することを理解しています。

これは、RavenDBサーバーがダウンした場合、パブリッシャーがサブスクライバーに送信する機能を失うことを意味しますか?または、パブリッシャーが所有しているサブスクライバーをキャッシュする方法はありますか?RavenDBがダウンした場合、既知のサブスクライバーに配信されますか?

4

3 に答える 3

3

RavenDB サーバーをレプリケートされたノードとして実行して、これが単一障害点になることを回避できます。

于 2012-11-07T17:25:44.860 に答える
3

一般的なパターンは、エンドポイントがワーカーおよびディストリビューターとして機能するマスター ノードを持ち、マスター ノードが同じサーバー上の Raven インストールを使用してサブスクリプションとサガ ストレージを格納するというものです。

したがって、これはその 1 つのエンドポイントの障害点ですが、分散システム内の他のエンドポイントは、独自のサーバーにインストールされた Raven を使用します。したがって、システムは分散された状態に保たれ、システム全体に単一障害点はありません。RavenDB を使用すると、任意のサーバーに簡単にインストールできるため、これが可能になります。

これを、高可用性を提供するために頻繁に集中化され、最大までスケールアップされ、クラスター化されている SQL Server と比較してください。(読む: 高い!)

于 2012-11-07T18:59:18.797 に答える
1

ノードが RavenDB データ ファイル用に共有 SAN を使用する Windows フェールオーバー クラスターで RavenDB を実行することもできます。アクティブなノードが停止すると、別のノードが引き継ぎます。データは SAN に保存されるため、新しいノードで RavenDB Windows サービスを起動するのにかかる時間を除けば、それに気付くことさえありません。http://ravendb.net/docs/server/administration/fmc_configurationを確認してください

これは、ディストリビューターで実行する場合の高可用性の推奨設定でもあります。http://docs.particular.net/nservicebus/scalability-and-ha/distributor/

于 2012-11-14T14:12:31.237 に答える