RabbitMQ là một trình môi giới tin nhắn mã nguồn mở và miễn phí. Hỗ trợ nhiều giao thức tin nhắn, RabbitMQ là trình môi giới tin nhắn được sử dụng rộng rãi nhất trên Internet. Nó hỗ trợ các giao thức như AMQP, STOMP, MQTT, HTTP và WebSockets, cũng như RabbitMQ Stream.
RabbitMQ hoàn toàn tuân thủ tiêu chuẩn JMS 1.1 và phù hợp với nhiều tình huống phát triển khác nhau, từ môi trường triển khai nhỏ đến trung bình đến lớn.
Là một trình môi giới tin nhắn, RabbitMQ nằm giữa các ứng dụng và cho phép chúng giao tiếp với nhau một cách không đồng bộ, đáng tin cậy và thuận tiện. RabbitMQ cung cấp bộ nhớ tạm thời giữa các ứng dụng và bảo vệ chống mất dữ liệu.
Trong hướng dẫn này, chúng ta sẽ cài đặt và thiết lập máy chủ RabbitMQ giữa nhiều máy Ubuntu 22.04. Bạn cũng sẽ học cách thiết lập người dùng quản trị cho RabbitMQ và thiết lập phản chiếu hàng đợi cổ điển thông qua chính sách HA.
Cập nhật và làm mới kho lưu trữ gói Ubuntu của bạn thông qua lệnh apt bên dưới.
Tiếp theo, chỉnh sửa tệp '/etc/hosts thông qua lệnh trình chỉnh sửa nano bên dưới.
Thêm cấu hình sau và đảm bảo thay đổi từng địa chỉ IP và tên máy chủ bằng thông tin chi tiết về môi trường hiện tại của bạn.
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất. Với tất cả các máy chủ Ubuntu đã được chuẩn bị, sau đó bạn sẽ cài đặt RabbitMQ và thiết lập cụm.
Chạy lệnh apt bên dưới để cập nhật và làm mới chỉ mục gói ubuntu của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22163%22%3E%3C/svg%3E
Cài đặt RabbitMQ qua lệnh apt sau bên dưới.
Điều này sẽ nhắc bạn xác nhận, nhập y để xác nhận và nhấn ENTER để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22327%22%3E%3C/svg%3E
Sau khi RabbitMQ được cài đặt, hãy chạy lệnh systemctl sau để xác minh dịch vụ RabbitMQ và đảm bảo rằng dịch vụ đã được bật và đang chạy.
Đầu ra - Bạn có thể thấy RabbitMQ đang chạy và được bật. RabbitMQ sẽ tự động chạy khi khởi động.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22227%22%3E%3C/svg%3E
Bây giờ máy chủ RabbitMQ đã được cài đặt, tiếp theo bạn sẽ kích hoạt plugin RabbitMQ 'rabbitmq_management'.
Trước khi bắt đầu cấu hình cụm RabbitMQ, bạn sẽ bật plugin 'rabbitmq_management' trên các máy mục tiêu của mình.
Bật plugin RabbitMQ 'rabbitmq_management' bằng lệnh 'rabbitmq-plugins' sau. Lệnh sau cũng sẽ kích hoạt các plugin cần thiết cho 'rabbitmq_management'.
Tiếp theo, khởi động lại dịch vụ RabbitMQ để áp dụng các thay đổi mới và plugin 'rabbitmq_management' sẽ được kích hoạt.
Plugin 'rabbitmq_management' mặc định hiện đang chạy trên cổng mặc định '15672'. Chạy lệnh ss sau để đảm bảo rằng cổng rabbitmq_management '15672' đang mở.
Đầu ra - Cổng rabbitmq_management đang hoạt động và mở.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22205%22%3E%3C/svg%3E
Chạy lệnh ufw sau để thêm dịch vụ OpenSSH và kích hoạt tường lửa ufw.
Khi được nhắc xác nhận, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục. Và tường lửa ufw hiện đã chạy và được bật.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22214%22%3E%3C/svg%3E
Tiếp theo, mở một số cổng TCP cho cụm RabbitMQ thông qua lệnh ufw sau. Sau đó, tải lại tường lửa ufw để áp dụng các thay đổi mới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22484%22%20height=%22328%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh ufw sau để xác minh rằng các cổng RabbitMQ đã được thêm vào ufw tường lửa.
Đầu ra - Một số cổng sẽ được sử dụng cho cụm RabbitMQ được thêm vào tường lửa ufw.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22514%22%20height=%22347%22%3E%3C/svg%3E
Trên mọi cài đặt RabbitMQ, sẽ có một tệp '.erlang'cooke' có sẵn trong thư mục '/var/lib/rabbitmq'. Để thiết lập cụm, bạn phải đảm bảo rằng tất cả các nút trên cụm đều có cùng tệp '.erlang.cookie'.
Đối với ví dụ này, 'rabbitmq1' sẽ được sử dụng làm cụm khởi tạo đầu tiên, vì vậy bạn sẽ cần sao chép/chuyển tệp '.erlang.cookie' sang cả máy chủ 'rabbitmq2' và 'rabbitmq3'.
Trên máy chủ 'rabbitmq1', hãy chạy lệnh sau để xác minh tệp '.erlang.cookie' và đảm bảo tệp là có sẵn.
Tiếp theo, sao chép/chuyển tệp '.erlang.cookie' đến cả máy chủ 'rabbitmq2' và 'rabbitmq3'. Ví dụ này sử dụng lệnh SCP để sao chép tệp '.erlang.cookie' vào máy chủ '192.168.5.22' và '192.168.5.23'.
Sau khi tệp '.erlang.cookie' được sao chép/chuyển, hãy di chuyển phiên máy chủ đang hoạt động đến 'rabbitmq2' và 'rabbitmq3'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22183%22%3E%3C/svg%3E
Chạy lệnh sau trên cả 'rabbitmq2' và 'rabbitmq3' để khởi động lại dịch vụ RabbitMQ và áp dụng các thay đổi mới. Sau đó, dừng ứng dụng RabbitMQ.
Dưới đây là đầu ra từ máy chủ 'rabbitmq2'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22556%22%20height=%22140%22%3E%3C/svg%3E
Dưới đây là đầu ra từ 'rabbitmq3' máy chủ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22594%22%20height=%22131%22%3E%3C/svg%3E
Sau đó, thêm máy chủ 'rabbitmq2' và 'rabbitmq3' vào cụm RabbitMQ thông qua lệnh sau. Sau đó, khởi động ứng dụng RabbitMQ.
Dưới đây là kết quả khi 'rabbitmq2' tham gia cụm RabbitMQ và khởi động ứng dụng RabbitMQ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22657%22%20height=%22181%22%3E%3C/svg%3E
Dưới đây là kết quả khi 'rabbitmq3' tham gia cụm RabbitMQ và khởi động ứng dụng RabbitMQ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22635%22%20height=%22154%22%3E%3C/svg%3E
Cuối cùng, hãy quay lại máy chủ 'rabbitmq1' và chạy lệnh sau để xác minh trạng thái của cụm RabbitMQ.
Sau đó, bạn sẽ thấy cụm RabbitMQ được tạo bằng ba nút 'rabbitmq1', 'rabbitmq2' và 'rabbitmq3'. Bạn cũng thấy phiên bản hiện tại của RabbitMQ trên mỗi nút và trạng thái bảo trì của các nút trên toàn cụm.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22530%22%20height=%22750%22%3E%3C/svg%3E
Chạy lệnh sau để thêm người dùng RabbitMQ mới. Ví dụ này sẽ thêm người dùng 'alice' vào RbbitMQ. Ngoài ra, bạn phải thay đổi mật khẩu bằng mật khẩu mới.
Tiếp theo, lệnh bên dưới sẽ biến người dùng mới 'alice' thành quản trị viên trên cụm RabbitMQ.
Thiết lập quyền cho người dùng 'alice' đối với tất cả các thực thể bên trong RabbitMQ cluster.
Bây giờ hãy chạy lệnh bên dưới để xóa người dùng mặc định 'guest' khỏi cài đặt RabbitMQ của bạn.
Xác minh danh sách người dùng có sẵn trên RabbitMQ. Sau đó, bạn sẽ thấy người dùng mới 'alice' được tạo và có thể được sử dụng làm quản trị viên cho máy chủ RabbitMQ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22385%22%3E%3C/svg%3E
Tại thời điểm này, bạn đã hoàn tất việc cài đặt và cấu hình cụm RabbitMQ và cấu hình quản trị viên cho RabbitMQ. Tiếp theo, bạn sẽ thiết lập phản chiếu hàng đợi cổ điển thông qua các chính sách RabbitMQ.
Đối với ví dụ này, bạn sẽ tìm hiểu cách thiết lập phản chiếu hàng đợi thông qua các chính sách RabbitMQ.
Chạy lệnh sau để tạo chính sách mới 'ha-all'. Chính sách này cho phép tất cả các hàng đợi được phản ánh trên các nút trên cụm RabbitMQ.
Bây giờ, nếu bạn muốn chỉ định các hàng đợi được phản ánh trên cụm. Ví dụ này sẽ tạo một chính sách mới 'ha-two-' sẽ phản chiếu bất kỳ hàng đợi nào có tên 'two.'
Cuối cùng, bạn cũng có thể tạo một chính sách mới cho phép bạn thiết lập hàng đợi để phản chiếu tới các nút cụ thể trên cụm RabbitMQ. Trong ví dụ này, bạn sẽ tạo một chính sách mới 'ha-nodes' sẽ phản chiếu bất kỳ hàng đợi nào có tên 'nodes.' đến các nút cụ thể 'rabbitmq2' và 'rabbitmq3'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22122%22%3E%3C/svg%3E
Xác minh danh sách các chính sách trên cụm RabbitMQ của bạn thông qua lệnh sau. Sau đó, bạn sẽ thấy các chính sách 'ha-all', 'ha-two' và 'ha-nodes' có sẵn trên cụm RabbitMQ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22133%22%3E%3C/svg%3E
Đăng nhập bằng tên người dùng và mật khẩu mới mà bạn đã tạo và nhấp vào 'Đăng nhập'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22630%22%20height=%22227%22%3E%3C/svg%3E
Bây giờ, bạn sẽ thấy bảng điều khiển quản trị RabbitMQ do plugin 'rabbitmq_management' cung cấp.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22509%22%3E%3C/svg%3E
Tiếp theo, nhấp vào tab 'Quản trị viên' và nhấp vào 'Chính sách' để xác minh rằng các chính sách RabbitMQ mà bạn đã tạo có sẵn.
Trong ảnh chụp màn hình bên dưới, bạn có thể thấy ba chính sách khác nhau, 'ha-all', 'ha-two' và 'ha-nodes'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22430%22%3E%3C/svg%3E
Với điều này, bây giờ bạn có thể sử dụng RabbitMQ làm môi giới tin nhắn cho ứng dụng và cơ sở hạ tầng của mình. Tuy nhiên, bạn cũng có thể đưa việc triển khai RabbitMQ lên một tầm cao mới bằng cách thiết lập hàng đợi đủ số lượng, bảo mật RabbitMQ qua TLS và nhiều tính năng khác.
RabbitMQ hoàn toàn tuân thủ tiêu chuẩn JMS 1.1 và phù hợp với nhiều tình huống phát triển khác nhau, từ môi trường triển khai nhỏ đến trung bình đến lớn.
Là một trình môi giới tin nhắn, RabbitMQ nằm giữa các ứng dụng và cho phép chúng giao tiếp với nhau một cách không đồng bộ, đáng tin cậy và thuận tiện. RabbitMQ cung cấp bộ nhớ tạm thời giữa các ứng dụng và bảo vệ chống mất dữ liệu.
Trong hướng dẫn này, chúng ta sẽ cài đặt và thiết lập máy chủ RabbitMQ giữa nhiều máy Ubuntu 22.04. Bạn cũng sẽ học cách thiết lập người dùng quản trị cho RabbitMQ và thiết lập phản chiếu hàng đợi cổ điển thông qua chính sách HA.
Điều kiện tiên quyết
Để hoàn thành hướng dẫn này, bạn sẽ cần các yêu cầu sau:- Hai hoặc nhiều máy chủ Ubuntu 22.04 - Ví dụ này sử dụng ba máy Ubuntu, 'rabbitmq1, 'rabbitmq2' và 'rabbitmq3'.
- Người dùng không phải root có quyền quản trị viên sudo/root.
Chuẩn bị máy
Trước khi bắt đầu, bạn sẽ cập nhật và làm mới kho lưu trữ hệ thống của mình. Sau đó thiết lập tệp /etc/hosts trên mỗi máy chủ để máy chủ có thể kết nối thông qua tên máy chủ hệ thống.Cập nhật và làm mới kho lưu trữ gói Ubuntu của bạn thông qua lệnh apt bên dưới.
Mã:
sudo apt update
Mã:
sudo nano /etc/hosts
Mã:
192.168.5.21 rabbitmq1
192.168.5.22 rabbitmq2
192.168.5.23 rabbitmq3
Cài đặt RabbitMQ Server
Sau khi chuẩn bị các máy Ubuntu, giờ đây bạn đã sẵn sàng cài đặt RabbitMQ server trên tất cả các máy mục tiêu. Kho lưu trữ Ubuntu 22.04 mặc định cung cấp phiên bản RabbitMQ mới nhất và ổn định có thể dễ dàng cài đặt qua APT.Chạy lệnh apt bên dưới để cập nhật và làm mới chỉ mục gói ubuntu của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22163%22%3E%3C/svg%3E
Cài đặt RabbitMQ qua lệnh apt sau bên dưới.
Mã:
sudo apt install rabbitmq-server
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22327%22%3E%3C/svg%3E
Sau khi RabbitMQ được cài đặt, hãy chạy lệnh systemctl sau để xác minh dịch vụ RabbitMQ và đảm bảo rằng dịch vụ đã được bật và đang chạy.
Mã:
sudo systemctl is-enabled rabbitmq-server
sudo systemctl status rabbitmq-server
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22227%22%3E%3C/svg%3E
Bây giờ máy chủ RabbitMQ đã được cài đặt, tiếp theo bạn sẽ kích hoạt plugin RabbitMQ 'rabbitmq_management'.
Kích hoạt Plugin quản lý RabbitMQ
RabbitMQ cung cấp một plugin quản lý cho phép bạn quản lý và giám sát các nút và cụm RabbitMQ thông qua trình duyệt web. Plugin 'rabbitmq_management' là API dựa trên HTTP có chức năng tương tự như công cụ dòng lệnh 'rabbitmqadmin'.Trước khi bắt đầu cấu hình cụm RabbitMQ, bạn sẽ bật plugin 'rabbitmq_management' trên các máy mục tiêu của mình.
Bật plugin RabbitMQ 'rabbitmq_management' bằng lệnh 'rabbitmq-plugins' sau. Lệnh sau cũng sẽ kích hoạt các plugin cần thiết cho 'rabbitmq_management'.
Mã:
sudo rabbitmq-plugins enable rabbitmq_management
Mã:
sudo systemctl restart rabbitmq-server
Plugin 'rabbitmq_management' mặc định hiện đang chạy trên cổng mặc định '15672'. Chạy lệnh ss sau để đảm bảo rằng cổng rabbitmq_management '15672' đang mở.
Mã:
ss -plnt
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22205%22%3E%3C/svg%3E
Thiết lập Tường lửa UFW
Sau khi cấu hình và bật plugin Quản lý RabbitMQ, bạn sẽ thiết lập tường lửa UFW trên tất cả các hệ thống. Cài đặt Ubuntu mặc định đi kèm với gói UFW đã cài đặt, do đó bạn có thể dễ dàng bắt đầu và kích hoạt quy trình tường lửa UFW.Chạy lệnh ufw sau để thêm dịch vụ OpenSSH và kích hoạt tường lửa ufw.
Mã:
sudo ufw allow OpenSSH
sudo ufw enable
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22214%22%3E%3C/svg%3E
Tiếp theo, mở một số cổng TCP cho cụm RabbitMQ thông qua lệnh ufw sau. Sau đó, tải lại tường lửa ufw để áp dụng các thay đổi mới.
Mã:
sudo ufw allow 15672/tcp
sudo ufw allow 5672/tcp
sudo ufw allow 4369/tcp
sudo ufw allow 25672/tcp
sudo ufw reload
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22484%22%20height=%22328%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh ufw sau để xác minh rằng các cổng RabbitMQ đã được thêm vào ufw tường lửa.
Mã:
sudo ufw status
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22514%22%20height=%22347%22%3E%3C/svg%3E
Thiết lập cụm RabbitMQ
Sau khi bật Plugin 'rabbitmq_management' và cấu hình tường lửa ufw, bây giờ bạn sẽ bắt đầu tạo và cấu hình cụm RabbitMQ thông qua lệnh 'rabbitmqctl'.Trên mọi cài đặt RabbitMQ, sẽ có một tệp '.erlang'cooke' có sẵn trong thư mục '/var/lib/rabbitmq'. Để thiết lập cụm, bạn phải đảm bảo rằng tất cả các nút trên cụm đều có cùng tệp '.erlang.cookie'.
Đối với ví dụ này, 'rabbitmq1' sẽ được sử dụng làm cụm khởi tạo đầu tiên, vì vậy bạn sẽ cần sao chép/chuyển tệp '.erlang.cookie' sang cả máy chủ 'rabbitmq2' và 'rabbitmq3'.
Trên máy chủ 'rabbitmq1', hãy chạy lệnh sau để xác minh tệp '.erlang.cookie' và đảm bảo tệp là có sẵn.
Mã:
ls -lah /var/lib/rabbitmq/
Mã:
scp /var/lib/rabbitmq/.erlang.cookie [emailprotected]:/var/lib/rabbitmq/
scp /var/lib/rabbitmq/.erlang.cookie [emailprotected]:/var/lib/rabbitmq/
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22183%22%3E%3C/svg%3E
Chạy lệnh sau trên cả 'rabbitmq2' và 'rabbitmq3' để khởi động lại dịch vụ RabbitMQ và áp dụng các thay đổi mới. Sau đó, dừng ứng dụng RabbitMQ.
Mã:
sudo systemctl restart rabbitmq-server
sudo rabbitmqctl stop_app
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22556%22%20height=%22140%22%3E%3C/svg%3E
Dưới đây là đầu ra từ 'rabbitmq3' máy chủ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22594%22%20height=%22131%22%3E%3C/svg%3E
Sau đó, thêm máy chủ 'rabbitmq2' và 'rabbitmq3' vào cụm RabbitMQ thông qua lệnh sau. Sau đó, khởi động ứng dụng RabbitMQ.
Mã:
sudo rabbitmqctl join_cluster rabbit@rabbitmq1
sudo rabbitmqctl start_app
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22657%22%20height=%22181%22%3E%3C/svg%3E
Dưới đây là kết quả khi 'rabbitmq3' tham gia cụm RabbitMQ và khởi động ứng dụng RabbitMQ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22635%22%20height=%22154%22%3E%3C/svg%3E
Cuối cùng, hãy quay lại máy chủ 'rabbitmq1' và chạy lệnh sau để xác minh trạng thái của cụm RabbitMQ.
Mã:
sudo rabbitmqctl cluster_status
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22530%22%20height=%22750%22%3E%3C/svg%3E
Thiết lập Quản trị viên RabbitMQ
Sau khi cụm RabbitMQ được tạo, bây giờ bạn sẽ tạo và thiết lập người dùng quản trị viên mới cho máy chủ RabbitMQ thông qua 'rabbitmqctl', dòng lệnh chính để quản lý máy chủ RabbitMQ.Chạy lệnh sau để thêm người dùng RabbitMQ mới. Ví dụ này sẽ thêm người dùng 'alice' vào RbbitMQ. Ngoài ra, bạn phải thay đổi mật khẩu bằng mật khẩu mới.
Mã:
sudo rabbitmqctl add_user alice password
Mã:
sudo rabbitmqctl set_user_tags alice administrator
Mã:
sudo rabbitmqctl set_permissions -p / alice ".*" ".*" ".*"
Mã:
sudo rabbitmqctl delete_user guest
Mã:
sudo rabbitmqctl list_users
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22385%22%3E%3C/svg%3E
Tại thời điểm này, bạn đã hoàn tất việc cài đặt và cấu hình cụm RabbitMQ và cấu hình quản trị viên cho RabbitMQ. Tiếp theo, bạn sẽ thiết lập phản chiếu hàng đợi cổ điển thông qua các chính sách RabbitMQ.
Thiết lập phản chiếu hàng đợi cổ điển
RabbitMQ cung cấp hai cách để thiết lập hàng đợi phản chiếu, bạn có thể sử dụng phản chiếu hàng đợi cổ điển thông qua chính sách RabbitMQ hoặc thiết lập bằng cách sử dụng hàng đợi số lượng.Đối với ví dụ này, bạn sẽ tìm hiểu cách thiết lập phản chiếu hàng đợi thông qua các chính sách RabbitMQ.
Chạy lệnh sau để tạo chính sách mới 'ha-all'. Chính sách này cho phép tất cả các hàng đợi được phản ánh trên các nút trên cụm RabbitMQ.
Mã:
sudo rabbitmqctl set_policy ha-all ".*" '{"ha-mode":"all"}'
Mã:
sudo rabbitmqctl set_policy ha-two "^two\." '{"ha-mode":"exactly","ha-params":2,"ha-sync-mode":"automatic"}'
Mã:
sudo rabbitmqctl set_policy ha-nodes "^nodes\." '{"ha-mode":"nodes","ha-params":["rabbit@rabbitmq2", "rabbit@rabbitmq3"]}'
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22122%22%3E%3C/svg%3E
Xác minh danh sách các chính sách trên cụm RabbitMQ của bạn thông qua lệnh sau. Sau đó, bạn sẽ thấy các chính sách 'ha-all', 'ha-two' và 'ha-nodes' có sẵn trên cụm RabbitMQ.
Mã:
sudo rabbitmqctl list_policies
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22133%22%3E%3C/svg%3E
Truy cập RabbitMQ Cluster thông qua Plugin quản lý
Mở trình duyệt web của bạn và truy cập địa chỉ IP của máy chủ theo sau là cổng RabbitMQ mặc định 15672 (tức là: http://192.168.5.21). Sau đó, bạn sẽ nhận được trang đăng nhập RabbitMQ.Đăng nhập bằng tên người dùng và mật khẩu mới mà bạn đã tạo và nhấp vào 'Đăng nhập'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22630%22%20height=%22227%22%3E%3C/svg%3E
Bây giờ, bạn sẽ thấy bảng điều khiển quản trị RabbitMQ do plugin 'rabbitmq_management' cung cấp.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22509%22%3E%3C/svg%3E
Tiếp theo, nhấp vào tab 'Quản trị viên' và nhấp vào 'Chính sách' để xác minh rằng các chính sách RabbitMQ mà bạn đã tạo có sẵn.
Trong ảnh chụp màn hình bên dưới, bạn có thể thấy ba chính sách khác nhau, 'ha-all', 'ha-two' và 'ha-nodes'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22430%22%3E%3C/svg%3E
Kết luận
Xin chúc mừng! Bây giờ bạn đã cài đặt máy chủ RabbitMQ và cấu hình cụm RabbitMQ với ba máy chủ Ubuntu 22.04. Ngoài ra, bạn đã cấu hình tường lửa UFW để bảo mật triển khai RabbitMQ và cũng đã cấu hình người dùng quản trị viên cho RabbitMQ và tạo phản chiếu hàng đợi cổ điển trên cụm RabbitMQ thông qua các chính sách RabbitMQ.Với điều này, bây giờ bạn có thể sử dụng RabbitMQ làm môi giới tin nhắn cho ứng dụng và cơ sở hạ tầng của mình. Tuy nhiên, bạn cũng có thể đưa việc triển khai RabbitMQ lên một tầm cao mới bằng cách thiết lập hàng đợi đủ số lượng, bảo mật RabbitMQ qua TLS và nhiều tính năng khác.