2017-01-04 7 views
1

コンテキスト:

私はAWSインフラストラクチャでTitan v1.0.0を使用しており、フェールオーバー/フォールトトレランスをサポートしたいと考えています。 AWSはDynamoDbストレージバックエンドを処理しますが、(ELB)ロードバランサによって処理されるいくつかのタイタンインスタンスを持つ必要があります。 (このアサーションを修正しても構いません)titan(グラフデータベース)は更新通知をサポートしていますか?

私はnodeJs libraryをgremlinに、gremlinを使ってTitanにアクセスしています。

質問

誰かが追加したとき、私はnodeJsアプリで最新情報を受け取りたい

/アップデート/削除頂点/エッジ/特定のクエリによってカバーされ、その性質。これは、一部のDB /キャッシュではオブザーバパターンまたは連続問合せ機能と同等です。

これが可能かどうかは誰でも知っていますか?トランザクションログの内容を見るとmayが可能ですが、わかりません。 EventStrategy/EventGraphは、どちらもローカルインスタンストランザクションでのみ機能するようです。

問題の図解(インスタンス 'A'と 'B'が固定セッションを持つと仮定します)。 NodeJsAがTitanAを介して更新を行う場合、TitanBがそれを選択してNodeJsBに通知するようにします。

[NodeJsA]\    /[TitanA]\ 
      \   /  \ 
      [ELB (AWS)]   [DynamoDb (AWS)] 
     /   \  /
[NodeJsB]/    \[TitanB]/ 

ポーリングはフォールバックオプションですが、私はそこに行くことはありません。

答えて

1

タイタンには、あなたが求めているものを直接達成する機能はありません(どちらもTinkerPopはありません)。私はあなたがすでに持っている最も近いオプション、すなわちタイタンのトランザクションログとEventStrategyをすでに言及していると思います。どちらの場合も、少し作業が必要で、そのような機能に対応するためにアーキテクチャを少し複雑にしなければならないと思います。

+1

ありがとうございます。私はそれほど考えました。私は今、ポーリングに行くつもりです。もう1つの方法は、AWSラムダを使ってdynamoDbテーブルを監視し、イベントが変化したときにpingを実行することですが、今は 'KISS'と思っています。 –

関連する問題