2

中央データベースに、常に追加されるテーブルがあります。これらの追加を数分ごとにバッチ処理して、多数の「スレーブ」サーバーに送信したいと考えています。次に、これらのサーバーはそのデータを処理してから破棄します (分散型倉庫を考えてください)。各「スレーブ」サーバーには異なるデータのサブセットが必要であり、そのために使用できる自然なパーティション分割キーがあります。

基本的に、私はこれが最終的に一貫している必要があります.バッチが配信される準備ができている瞬間に「スレーブ」がダウンしていたとしても、データのすべてのバッチは最終的にすべての「スレーブ」サーバーに配信されます(信頼性)。バッチが配信される順序は気にしません。

私が検討した可能な解決策、

  • 各サーバーでテーブル全体を複製する必要があるため、MySQL 複製は私の要件に適合しません。
  • ETL および ESB 製品はこれにはあまりにも肥大化しています。私はデータ処理を行っていません。
  • 普通の JMS を使用できますが、もっと単純なものを探しています
  • JGroups は興味深いものですが、グループから脱退したメンバーは、再参加するとメッセージを受け取りません。
  • サーバー間でファイルとackファイルをプッシュする:できますが、フレームワークを知らないので、自分で作成する必要があります。

注:この質問は、信頼性と耐久性を備えた中央サーバーからN個の他のサーバーにデータを移動する方法に関するものです。それを作成または摂取する方法ではありません。

(耐久性要件を追加するために 8 月 24 日に編集されました)

4

2 に答える 2

2

同じようにJGroupsを使用できます。信頼性の高いマルチキャスト通信のためのツールキット

于 2010-08-23T10:33:53.933 に答える
0

たとえば、SFTPを介してディレクトリをポーリングするプラグインを含む「Spring統合」を見つけました。 http://www.springsource.org/spring-integration

于 2010-08-28T20:35:46.460 に答える