LogHub Producer Library は、並行性の高い Java アプリケーション向けに作成された LogHub のクラスライブラリです。Producer Library およびConsumer Libraryは、LogHub がデータの収集および読み込みのしきい値を下げるための読み書きパッケージです。

機能の特徴

  • 非同期送信インターフェイスにより、セキュアなスレッドを保証します。
  • プロジェクト構成を複数追加することができます。
  • ログ送信のネットワーク I/O スレッド数を設定することができます。
  • 統合パッケージのログの件数とサイズを設定することができます。
  • メモリ使用量を調節できます。メモリ使用量が指定のしきい値に達すると、アイドルメモリが使用可能になるまで Producer の送信インターフェイスはブロックされます。

機能の利点

  • クライアントからの収集ログは、ディスクには書き込まれません。ログデータが生成されると、ネットワークを介してそのまま Log Service に送信されます。
  • 高い並行処理でクライアントに書き込まれます (100 件/秒を超える書き込み処理)。
  • クライアントコンピューティングの I/O は論理的に分離されます。ログの書き込みは、処理時間に影響しません。

Producer Library を使用することにより、プログラム開発が簡素になります。書き込みリクエストは集約され、非同期に LogHub サーバーに送信されます。プログラムに集約パラメーター、また、サーバーにエラーが発生したときの処理を指定することができます。

上記のアクセス方法の比較一覧は下表のとおりです。

アクセス方法 利点/欠点 シナリオ
ログのディスクへの書き込み + Logtail ログ収集とログは切り離されているため、コードを書き換える必要がありません。 一般的なシナリオ
Syslog + Logtail 高パフォーマンス (80 MB/s)。ログはディスクに書き込まれません。syslog プロトコルに対応している必要があります。 Syslog シナリオ
SDK による直接送信 ディスクに書き込まれず、直接サーバーに送信されます。ネットワーク I/O とプログラム I/O の切り替えは、適切に処理する必要があります。 ログはディスクに書き込まれません。
Producer Library ディスクに書き込まれず、非同期にマージされ、サーバーに送信されるため、高スループットです。 ログはディスクに書き込まれず、クライアントのQPSは高くなります。

手順