CentOS 7.9 における RabbitMQ インストールガイド

CentOS 7.9 における RabbitMQ インストール手順 本記事では、CentOS 7.9 に RabbitMQ をインストールする手順を詳しく解説します。 1. RPM パッケージのダウンロード 1.1. Erlang のダウンロード RabbitMQ は Erlang に依存しているため、まず Erlang をインストールする必要があります。 wget --content-disposition "https://packagecloud.io/rabbitmq/erlang/pack ...

7月31日 05:56 投稿

RabbitMQのメッセージ送信と受信(PHP版)

RabbitMQの基本概念 RabbitMQは、メッセージを受信し、転送する代理です。郵便局に例えると、RabbitMQはメールを受信し、保存し、受信者に転送する機能を担います。 以下はRabbitMQで使用されるいくつかの用語です: Producer(送信者):メッセージを送信するプログラム。 Queue(キュー):RabbitMQ内部のメッセージを保存するバッファ。 Consumer(受信者):メッセー ...

7月23日 16:37 投稿

Spring BootとRabbitMQを用いた支払い結果通知システムの実装

RabbitMQ設定クラス @Configuration public class PaymentNotificationConfig implements ApplicationContextAware { public static final String PAYMENT_EXCHANGE = "payment_exchange"; public static final String NOTIFICATION_TYPE = "payment_result"; public static final String NOTIFICATION_QUEUE = "payment_notification_queue"; @Bean(PA ...

7月22日 23:05 投稿

バックエンド実装事例:非同期決済解除・分散ロック連携・ログ基盤・Redis多機能活用

RabbitMQ DLXを活用した決済タイムアウト処理 受注システムの状態遷移において、30分以内に決済が完遂しない場合に自動取消しを行う機構を実装しました。メッセージの有効期限(TTL)切れまたは消費者側での明示的拒否を検知し、デッドレターエクスチェンジ(DLX)経由で別キューへ迂回させる構成としています。 @Component public class OrderStateTransitionConsumer { ...

7月22日 01:46 投稿

RabbitMQによるメッセージ送受信の基礎実装

RabbitMQを用いたメッセージングモデルの概要 分散システムアーキテクチャにおいて、コンポーネント間の疎結合な通信を実現するための強力なミドルウェアとしてRabbitMQが広く普及しています。これはAMQP(Advanced Message Queuing Protocol)を実装したオープンソースのメッセージブローカーであり、信頼性の高い非同期通信を可能にします。ここでは、Pythonのクライアン ...

7月17日 19:04 投稿

Spring Cloud:RabbitMQの高度な機能と信頼性

RabbitMQの高度な機能 1.1. プロデューサーの再試行メカニズム まず、プロデューサーがメッセージを送信する際にネットワーク障害が発生し、MQとの接続が切断される場合があります。 この問題を解決するために、SpringAMQPはメッセージ送信時の再試行メカニズムを提供しています。つまり、RabbitTemplateがMQとの接続がタイムアウトした後、 ...

7月8日 16:09 投稿

RabbitMQの永続化とメモリディスク制御メカニズム

データ永続化機能 RabbitMQにおける永続化は、エクスチェンジ、キュー、メッセージの3つのレベルで実装されます。 永続化エクスチェンジの定義:第3引数のdurableパラメータで永続化を有効/無効化 channel.declareExchange(exchangeName, exchangeType, true) 永続化キューの定義:第2引数のdurableパラメータで永続化を制御 channel.declareQueue(queueName, true, ...

7月7日 17:43 投稿

RabbitMQ PHPドキュメント:トピック型交換

2019年12月10日10:05:11 原文:https://www.rabbitmq.com/tutorials/tutorial-five-php.html トピック (php-amqplibを使用) 前提条件 このチュートリアルでは、RabbitMQが標準ポート(5672)でローカルホスト上で実行されていることを前提としています。別のホスト、ポート、または認証情報を使用する場合は、接続設定を調整する必要があります。 お手伝いが必要ですか ...

6月29日 21:10 投稿

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

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

6月26日 18:33 投稿

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 投稿