1

Fluentd に出会いました。生データをデータベースに直接保存するのは簡単なのに、なぜそのようなことを使用するのでしょうか? ここでのテクノロジーの使用を誤解している可能性があります。フィードバックをお寄せいただければ幸いです。

生データをキャプチャして独自のデータストアに保存するのは簡単なのに、なぜ別のレイヤーを通過したいと思うのでしょうか?

このシナリオを考えてみましょう。ページビューを保存したい。生データは RDBMS に保存され、フォーマットされたデータは Mongodb に保存されます。これは現在のセットアップの簡単な説明です。

ユーザーが私のサイトにアクセスしたとき。私のアプリケーション (Rails) は、国に一致するように IP を解決します。IP が解決されたら、生データを RDBMS に保存します。すべての生データを 1 時間ごとに Mongo ドキュメントに処理するワーカー/cron を実行しています。なぜ流暢が必要なのですか?この場合、ロギング フレームワークを使用する利点は何ですか?

4

1 に答える 1

2
  1. 最初の RDBMS と Mongo の間でデータを移動するために、独自のワーカーを作成/維持する必要はありません。
  2. データを Mongo に移動するプロセスの並列化と冗長性が非常に簡単になります。これを worker/cron ジョブに組み込むことはできますが、なぜ車輪を再発明する必要があるのでしょうか?
  3. あなたは、なぜ別のレイヤーが必要なのかと尋ねました。worker/cron ジョブは別のレイヤーですが、Fluentd ほどテストされていません。
  4. 無料のプラグインがたくさんあるので、Mongo 以外の追加の場所 (つまり、Storm、S3、HDFS など) にデータを追加したい場合は、書き込む代わりに構成ファイルを編集することで非常に簡単に行うことができます。たくさんのコードを自分で。
  5. データをフラッシュする頻度やフラッシュするサイズなど、無料の組み込みオプションがたくさんあります。
  6. 最も重要なことは、このロギング/データ入力ワークフロー全体をアプリ ボックスからオフロードすることです。そのため、アプリ ボックスでのデータ挿入プロセスに問題が発生した場合、問題が表示され、Fluent ログ アグリゲーター ボックスで処理されます。あなたのアプリボックスに。
于 2013-05-13T17:51:06.560 に答える