Filebeatを活用したログ管理基盤の構築とデータフロー
Filebeatとは:軽量なログ収集の要
Filebeatは、Elastic社が開発したBeatsファミリーに属する、非常に軽量なデータシッパーです。その主要な役割は、様々なデータソース(ログファイル、システムログ、コンテナログなど)からログデータを効率的に収集し、Elasticsearch、Logstash、Kafkaといった集中型ストレージや分析システムへ安全に転送することにあります。
...
10月27日 06:55 投稿
Kafkaの分散処理と信頼性設計
クラスタ構成の基本構造
Kafkaでは、Topicという論理的な単位が複数のPartitionに分割され、各Brokerに分散配置されます。各Partitionにはリーダーとフォロワーが存在し、リーダーがデータの読み書きを担当します。フォロワーはデータの複製を保持することで可用性を確保します。
メッセージの書き込みはリーダーに集中し、その後フォロワーに複製されます。この構造によ ...
10月7日 02:35 投稿
Spring Cloud Streamのメッセージ処理設計
メッセージングフレームワーク
概要
https://spring.io/projects/spring-cloud-stream#overview
https://docs.spring.io/spring-cloud-stream/docs/current/reference/html/
メッセージングの課題
複数のメッセージキューイングシステムを使用する場合、各システムのAPI差異により開発が複雑化します。Spring Cloud Streamはこれらの差異を抽象化し、統一的なプログラミン ...
9月14日 05:50 投稿
Kafkaの動作フロー解析
3.1 Kafkaのプロデューサー処理解析
3.1.1 書き込み方法
プロデューサーは、メッセージをブローカーにプッシュ(push)モードで送信します。各メッセージはパーティションに追加され、ディスクへの順次書き込みが行われます。これはランダムなメモリ書き込みよりも効率的であり、Kafkaのスループットを確保します。
3.1.2 パーティション(Partition)
メッセ ...
9月3日 02:35 投稿
Redis、ZooKeeper、Kafkaの管理スクリプト実装
Redisサーバー制御スクリプト
#!/bin/bash
REDIS_PORT=6379
LOCAL_IP=$(hostname -I | awk '{print $1}')
start_redis() {
if ! pgrep -f "redis-server" &> /dev/null; then
redis-server /opt/redis/config/redis.conf >/dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Redis起動成功: $(pgrep -f "redis-server")"
else
echo "Redis起動失敗 - ...
8月15日 23:20 投稿
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 投稿