ZooKeeperとKafkaを用いたメッセージキューイングシステムのクラスタ構築
メッセージキューイング(Message Queue)は、分散システムにおける中核的なコンポーネントです。主な利用シーンとしては、即座に結果を取得する必要はないが、同時接続数の制御が必要な状況が該当します。本稿では、分散型メッセージキューイングシステムであるApache Kafkaとを調整サービスとして使用するZooKeeperを組み合わせたクラスタ構築手順を解説します。
1. メ ...
8月10日 03:31 投稿
ZooKeeperとKafkaを用いたメッセージキュークラスタのデプロイメント
メッセージキューの概念
メッセージキューとは何か
メッセージ(Message)とはアプリケーション間で送信されるデータのこと
メッセージキュー(Message Queue)はアプリケーション間の通信方式を解決するソリューションで、メッセージの信頼性のある伝達を保証します。
メッセージキューが必要な理由
疎結合
両側の処理プロセスを独立して拡張または修正できるため、同じ ...
8月4日 03:49 投稿
プロセス間通信の基礎:主要な通信方式の詳細解説
プロセス間通信の概要
オペレーティングシステムにおいて、プロセス間通信(IPC)とは、異なるプロセス間での情報共有、データ転送、メッセージ通知などのインタラクションを指します。各プロセスは生成時に独自の仮想アドレス空間を持ちますが、カーネル空間は共有します。そのため、プロセス間の通信を実現するには、カーネルを仲介する必要があります。
Linuxシステムで ...
7月22日 05:51 投稿
JavaでのRocketMQ順次消費の性能向上方法
1. 順次消費の仕組みと課題
RocketMQでは、メッセージキューごとに順次消費を保証します。例えば、あるトピックに4つのキューがある場合、同一キュー内でのみメッセージの順序が維持されますが、異なるキュー間では順序保証がありません。
順次消費の実装には次の3つのフェーズがあります:
キューの再バランス処理: RebalanceServiceスレッドが定期的にキューの割り ...
7月21日 19:53 投稿
Redisを用いたセールスフラッシュシステムのパフォーマンス最適化:非同期処理とメッセージキュー
本稿は、高負荷なセールスフラッシュ(秒殺)シナリオにおけるパフォーマンスを向上させるためのRedisを活用したアプローチについて解説します。特に、Redisのメッセージキュー機能を利用した非同期処理を実装し、システムの応答性とスループットを改善する方法を中心に説明します。
問題の提起
伝統的なセールスフラッシュシステムでは、ユーザーが注文リクエストを送信 ...
7月18日 20:23 投稿
Spring Cloud:RabbitMQの高度な機能と信頼性
RabbitMQの高度な機能
1.1. プロデューサーの再試行メカニズム
まず、プロデューサーがメッセージを送信する際にネットワーク障害が発生し、MQとの接続が切断される場合があります。
この問題を解決するために、SpringAMQPはメッセージ送信時の再試行メカニズムを提供しています。つまり、RabbitTemplateがMQとの接続がタイムアウトした後、 ...
7月8日 16:09 投稿
Kafkaブローカーのログファイルの構造と動作原理
1. パーティションディレクトリ内のファイル構造
Kafkaのメッセージストレージは、パーティション(Partition)を中心に構築されています。各パーティションは物理的なディレクトリに対応し、そのディレクトリ内にはコアログファイル、インデックスファイル、トランザクション関連ファイル、メタデータファイルの4種類のファイルが含まれます。これらのファイルが連携する ...
6月26日 22:30 投稿
RabbitMQメッセージキュー基礎
メッセージミドルウェアの概要
メッセージミドルウェアは、メッセージの転送過程においてメッセージを保持するコンテナです。メッセージを送信元から宛先へ中継する際に仲介者の役割を果たします。キューの主な目的はルーティングとメッセージ配信の保証です。受信者が利用できない場合、メッセージキューはメッセージを保持し、正常に配信できるまで待機します。もちろん ...
6月19日 22:36 投稿
ASP.NET C#でメッセージキューを使用した高同時接続処理(Xiaomiスマートフォン購入例)
Webアプリケーションが高同時接続を処理する際には、ハードウェアの拡張やプログラムの最適化に加え、並列処理を逐次処理に変換するアプローチも有効です。この手法はデータベースロックやメッセージキューの実装でよく用いられ、処理遅延のデメリットはあるものの、コスト削減という利点があります。
現象の再現
在庫商品テーブルの作成
CREATE TABLE [dbo].[stock_item]( ...
6月7日 16:25 投稿
ActiveMQの主要APIとメッセージング機能の活用
ActiveMQは、強力なメッセージング機能を提供するオープンソースのメッセージブローカーです。ここでは、JMS (Java Message Service) 標準に準拠したActiveMQの主要APIと、その上で利用できる高度なメッセージング機能について解説します。
JMSセッション管理とメッセージ処理
トランザクション管理
JMSでは、メッセージの送受信操作をアトミックに実行するためにトラン ...
6月1日 01:06 投稿