ZooKeeperとKafkaを用いたメッセージキュークラスタのデプロイメント

メッセージキューの概念 メッセージキューとは何か メッセージ(Message)とはアプリケーション間で送信されるデータのこと メッセージキュー(Message Queue)はアプリケーション間の通信方式を解決するソリューションで、メッセージの信頼性のある伝達を保証します。 メッセージキューが必要な理由 疎結合 両側の処理プロセスを独立して拡張または修正できるため、同じ ...

8月4日 03:49 投稿

.NET Core で Kafka トランザクション付きバッチ送信を実装する

Kafka プロデューサーを使用して複数メッセージを一括送信し、トランザクションにより全メッセージの成功または失敗を保証します。トランザクション ID の設定は必須です。 public void SendMessagesInTransaction(List<string> messages) { var config = BuildProducerConfig(); config.EnableIdempotence = true; config.MessageTimeoutMs = 5000; ...

7月24日 17:21 投稿

Flumeを使用したMySQLデータの履歴同期処理

1. Flumeディレクトリ構成 1.1 インストールパス情報 [admin@test01 flume-mysql-sync]$ pwd /opt/flume-mysql-sync 1.2 必要なJARファイルをlibディレクトリへ配置 sql-source-connector-2.1.jar mysql-driver-8.0.28.jar 2. パッケージングと展開操作 アーカイブ作成 tar czvf flume-package.tar.gz flume-mysql-sync/ 3. Kafkaトピックの作成と確認 # ト ...

6月28日 19:48 投稿

Kafkaブローカーのログファイルの構造と動作原理

1. パーティションディレクトリ内のファイル構造 Kafkaのメッセージストレージは、パーティション(Partition)を中心に構築されています。各パーティションは物理的なディレクトリに対応し、そのディレクトリ内にはコアログファイル、インデックスファイル、トランザクション関連ファイル、メタデータファイルの4種類のファイルが含まれます。これらのファイルが連携する ...

6月26日 22:30 投稿

CentOS 8 環境における RabbitMQ、Kafka および Supervisor の構築ガイド

ベース環境とリポジトリの準備 CentOS 8 系(および RHEL 互換ディストリビューション)で RabbitMQ を動作させるには、Erlang 実行環境の整備が必須となります。公式が提供するパッケージリポジトリを登録し、依存パッケージの自動解決を有効化します。 # Erlang リポジトリの登録 curl -1sLf https://dl.cloudsmith.io/public/rabbitmq/erlang/rpm/gpg.key | sudo rpm -- ...

6月24日 01:48 投稿

Flink と Kafka のオフセット管理方法

Flink と Kafka を連携する際、オフセット管理は重要な課題です。 自動管理モードでは、以下のような問題が発生します: プロセス途中での停止によりデータが失われることがあります 再起動時、同じデータが再び処理される可能性があります これらの問題を解決するためには、Kafka のオフセットを手動で管理し、Flinkのチェックポイントとオフセットを同期させる必要があ ...

6月21日 22:25 投稿

Kafkaの基本的な理解と利用方法

Apache Kafkaは、大規模なメッセージングシステムとして設計されたオープンソースのソフトウェアであり、リアルタイムデータ処理や分散システムでのイベントストリーミングに最適です。本記事ではKafkaの基礎概念、インストール手順、およびJavaを使用した生産者・消費者の実装方法について説明します。 Kafkaの概要 Kafkaはメッセージの発行と購読を可能にするプラットフ ...

6月17日 16:03 投稿

Apache Kafkaにおけるコンシューマの実装と管理

コンシューマ基礎知識 コンシューマとコンシューマグループ 各コンシューマは特定のコンシューマグループに所属し、異なるグループ間は互いに影響しない パーティションのメッセージは1つのグループ内で単一コンシューマによって消費されるが、再バランスにより新しいコンシューマに再割当される可能性がある トピックの異なるパーティションはクライアントパラメ ...

6月14日 16:07 投稿

Kafka Producerの送信メカニズム完全解説:インターセプタからネットワーク送信までの全フロー

はじめに 分散システム開発に携わる開発者であれば、Producerがメッセージを送信する際に時速い時は遅い、時折メッセージが紛失するといった問題に遭遇したことがあるかもしれません。その根本原因は、Producerの全送信チェーンのメカニズムを理解していないことにあります。メッセージの生成から最終的な配送まで、インターセプタ、シリアライザ、パーティショナー、 ...

6月8日 19:06 投稿

分散ログ収集基盤の構築:Elasticsearch + Kafka + ZooKeeper + rsyslog

多くのシステムで共通する課題として、開発者がサーバーに直接アクセスできないことや、ログが各サーバーに散在し検索が困難であること、さらに大量のログデータによりリアルタイムなクエリが困難であることが挙げられます。これらの問題を解決するために、集中型のログ収集・分析基盤を構築します。 前提条件とアーキテクチャ概要 本環境では、以下のソフトウェアスタッ ...

6月8日 17:42 投稿