0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

メッセージキューを入れてみる

今時のメッセージキューを操作するには、かなりいけてるソフトがあるとのこと。有名どころだと "RabbitMQ, Apache Kafka, Redis"があるが、割と定番?の "RabbitMQ” がインストール簡単そうだったのでそのメモ。

ちなみに "RabbitMQ” を入れてやりたいことは、Web-Queue-Worker を試しかったのであります。

RabbitMQ のインストール

RabbitMQ をインストールするには、Erlang を先に入れる必要があります。なんだか Erlang + RabbitMQ の組み合わせ(バージョン)で少し手こずるようなこともGoogle先生は言ってますので、ここでは最新をいれてみます。

公式サイトでのインストール方法(レポジトリから)

2026/3/19 現在
 erlang-27.3.4.9-1.el9.x86_64
 rabbitmq-server-4.2.4-1.el8.noarch

インストール方法(公式)

signing keyのインストール(公式から抜粋)

# sudo rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc'
# sudo rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key'
# sudo rpm --import 'https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key'

レポジトリの追加(公式から抜粋)

# In /etc/yum.repos.d/rabbitmq.repo

##
## Zero dependency Erlang RPM
##

[modern-erlang]
name=modern-erlang-el9
# Use a set of mirrors maintained by the RabbitMQ core team.
# The mirrors have significantly higher bandwidth quotas.
baseurl=https://yum1.rabbitmq.com/erlang/el/9/$basearch
        https://yum2.rabbitmq.com/erlang/el/9/$basearch
repo_gpgcheck=1
enabled=1
gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md

[modern-erlang-noarch]
name=modern-erlang-el9-noarch
# Use a set of mirrors maintained by the RabbitMQ core team.
# The mirrors have significantly higher bandwidth quotas.
baseurl=https://yum1.rabbitmq.com/erlang/el/9/noarch
        https://yum2.rabbitmq.com/erlang/el/9/noarch
repo_gpgcheck=1
enabled=1
gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key
       https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md

##
## RabbitMQ Server
##

[rabbitmq-el9]
name=rabbitmq-el9
baseurl=https://yum2.rabbitmq.com/rabbitmq/el/9/$basearch
        https://yum1.rabbitmq.com/rabbitmq/el/9/$basearch
repo_gpgcheck=1
enabled=1
# Cloudsmith's repository key and RabbitMQ package signing key
gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
       https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md

[rabbitmq-el9-noarch]
name=rabbitmq-el9-noarch
baseurl=https://yum2.rabbitmq.com/rabbitmq/el/9/noarch
        https://yum1.rabbitmq.com/rabbitmq/el/9/noarch
repo_gpgcheck=1
enabled=1
# Cloudsmith's repository key and RabbitMQ package signing key
gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key
       https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
gpgcheck=1
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
pkg_gpgcheck=1
autorefresh=1
type=rpm-md

erlang のインストール前にパッケージがあるか確認

# yum --showduplicates search erlang
erlang-27.3.4.9-1.el9.x86_64 : Minimalistic Erlang/OTP distribution that provides just enough for running RabbitMQ
erlang-27.3.4.6-1.el9.x86_64 : Minimalistic Erlang/OTP distribution that provides just enough for running RabbitMQ

erlang のインストール

# yum install erlang

rabbitmq-server のインストール前にパッケージがあるか確認

# yum --showduplicates search rabbitmq-server
rabbitmq-server-4.2.4-1.el8.noarch : Open source RabbitMQ server
rabbitmq-server-4.2.3-1.el8.noarch : Open source RabbitMQ server

rabbitmq-server のインストール

# yum install rabbitmq-server

公式サイトでのインストール方法(rpm直接ダウンロード)

2026/3/26 現在
 erlang-28.4.1-1.el9.x86_64.rpm
 rabbitmq-server-4.2.5-1.el8.noarch.rpm

rpm を直接ダウンロード

# wget https://github.com/rabbitmq/erlang-rpm/releases/download/v28.4.1/erlang-28.4.1-1.el9.x86_64.rpm
# wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v4.2.5/rabbitmq-server-4.2.5-1.el8.noarch.rpm

rpm をインストール

# yum install erlang-28.4.1-1.el9.x86_64.rpm
# yum install rabbitmq-server-4.2.5-1.el8.noarch.rpm

RabbitMQ を起動しつつ管理画面のプラグインの有効化

RabbitMQ の動作確認をしてみます。また RabbitMQ の状態はコマンドラインから確認できますすが、GUIの管理画面がある方が便利なのでプラグインを有効化します。

# systemctl enable rabbitmq-server
# systemctl start rabbitmq-server
# systemctl status rabbitmq-server
# systemctl stop rabbitmq-server

管理画面のプラグインを有効化

# rabbitmq-plugins enable rabbitmq_management

有効化したあと管理画面(GUI)が有効になるので接続確認してみる。
http://ホストIP:15672

image.png

RabbitMQ の vhost とユーザ作成

RabbitMQに接続できるユーザは、デフォルトで guest/guest で定義されているが外部からアクセスできないユーザなのでここで簡単ではあるが vhost とユーザ作成を行う。のちに RabbitMQ + Celery で使用するときのためです。

# rabbitmqctl add_vhost /test1
# rabbitmqctl add_user guest3 guest3
# rabbitmqctl set_user_tags guest3 administrator
# rabbitmqctl set_permissions -p /test1 guest3 ".*" ".*" ".*"

はいれるかな?

image.png

キューイングの勉強

キューイングの勉強は、下記のサイト様をみるとわかりやすい。自分が昔に勉強したキューイングがいまやメッセージ駆動型(非同期)にて Web-Queue-Worker みたいな形で比較的容易に構築できることがわかる。古い人間なのかどうしても同期形(バッチ処理)でシステムを構築するなーと思うところがこれなら簡単にかつ分散処理もできそうなのでよいなと感じた。

参考にさせて頂いたサイト様

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?