RabbitMQ Publisher Confirms 機能を用いた信頼性の高い配信実装

概要 RabbitMQ における Publisher Confirms(发布者确认)は、メッセージがブローカーに確実に到達したことを保証するための拡張機能です。この機能をチャネルで有効にすると、ブローカーはクライアントが公開したメッセージをサーバー側で処理完毕后、非同期で確認応答(ack)を返します。 前提条件 本ガイドでは、RabbitMQ がローカルホストの標準ポート(5672)で稼働 ...

6月26日 18:33 投稿

RabbitMQメッセージキュー基礎

メッセージミドルウェアの概要 メッセージミドルウェアは、メッセージの転送過程においてメッセージを保持するコンテナです。メッセージを送信元から宛先へ中継する際に仲介者の役割を果たします。キューの主な目的はルーティングとメッセージ配信の保証です。受信者が利用できない場合、メッセージキューはメッセージを保持し、正常に配信できるまで待機します。もちろん ...

6月19日 22:36 投稿

RabbitMQのメッセージング機構と実装パターン

RabbitMQは、分散システム間での信頼性のあるメッセージングを実現するオープンソースのメッセージブローカーです。本記事では、その基本概念と実際の利用例を解説します。 主な使用シナリオ システム統合と分散アーキテクチャ:オンラインショッピングサイトの注文処理システムと在庫管理システムの連携。メッセージキューを介して非同期処理を行うことで、システムの ...

6月16日 22:31 投稿

RabbitMQによるPHPタスクキューの実装:ワークロード分散と信頼性確保

この記事では、RabbitMQを用いてPHPでタスクキュー(ワーカーキュー)を構築し、複数のワーカープロセス間で重い処理を効率的に分散する方法を解説します。メッセージの永続化や確認応答(acknowledgement)、公平なディスパッチといった信頼性向上のための機能も実装します。 前提条件 RabbitMQがローカルホストの標準ポート(5672)で動作していることを前提とします。 ...

5月30日 10:13 投稿

メッセージキュー技術とRabbitMQの基本

I. メッセージミドルウェアの特徴 1. 非同期処理モデル メッセージ送信者は応答を待つことなくメッセージを送信できます。送信者はメッセージを仮想のチャネルまたはキューに送信し、受信者はそのチャネルを購読または監視します。メッセージは最終的に1つまたは複数のメッセージ受信者に転送され、これらの受信者はメッセージ送信者に同期応答をする必要はありません。プ ...

5月22日 21:24 投稿

RabbitMQ入門:基本概念からSpring Bootによる実践的メッセージングまで

コアコンセプト Broker: メッセージの受信と配信を担うサーバーアプリケーション。RabbitMQサーバー自体を指す。 Connection: クライアント(パブリッシャー/コンシューマー)とBroker間のTCP接続。 Channel: Connection内部に確立される論理的な接続。高負荷時に毎回TCP接続を確立するオーバーヘッドを避けるため、スレッドごとにChannelを分けて通信を行う。AMQPプロトコ ...

5月20日 01:41 投稿

Spring BootにおけるRabbitMQ設定の詳細解説

接続設定 spring: rabbitmq: host: rabbitmq-server port: 5672 username: admin password: securepass connection-timeout: 15000 virtual-host: / requested-heartbeat: 60 publisher-confirms: true publisher-returns: true リスナー設定 spring: rabbitmq: listener: simple: prefetch: 1 concu ...

5月18日 05:54 投稿

RabbitMQのインストールとPHPによる基本的な使い方(macOS)

RabbitMQのインストール方法 Dockerを使用したインストール Dockerがインストール済みの環境においては、以下のdocker-compose.ymlファイルを作成することでRabbitMQを簡単にセットアップできます。 version: '3' services: rabbitmq: image: rabbitmq:3.7.7-management-alpine hostname: myrabbitmq ports: - "5672:5672" - "15672:15672" 作 ...

5月15日 05:05 投稿