Tìm hiểu RabbitMQ: Từ kiến thức nền tảng đến kỹ thuật nâng cao
1. Tổng quan về Message Queue (MQ)
Message Queue (MQ) là một hệ thống hàng đợi hoạt động theo nguyên tắc FIFO (vào trước ra trước). Nó đóng vai trò trung gian giúp các ứng dụng truyền tải thông tin một cách tin cậy và bất đồng bộ.
Hiện nay, có hai tiêu chuẩn chính trong thế giới MQ:
AMQP (Advanced Message Queuing Protocol): Một giao thức ...
Đăng vào ngày 5 tháng 8 lúc 22:22
Triển khai cụm RabbitMQ có tính sẵn sàng cao
RabbitMQ có ba chế độ triển khai chính:
1. Chế độ đơn lẻ
Chỉ chạy một phiên bản RabbitMQ trên một máy chủ. Đây là cấu hình đơn giản nhất, không cung cấp khả năng chịu lỗi hoặc khả năng mở rộng.
version: '3.1'
services:
rabbitmq:
restart: always
image: rabbitmq:management
container_name: rabbitmq
ports:
- 5672:5672
...
Đăng vào ngày 23 tháng 7 lúc 07:04
Cài đặt và Cấu hình RabbitMQ trên CentOS 8
1. Cập nhật hệ thống CentOS 8
Trước khi bắt đầu triển khai RabbitMQ, việc đảm bảo hệ thống CentOS 8 của bạn được cập nhật là vô cùng quan trọng. Cập nhật hệ thống giúp bạn có được các bản vá bảo mật mới nhất và cải thiện hiệu suất, điều này thiết yếu để đảm bảo cơ sở hạ tầng cài đặt ổn định và an toàn.
Đầu tiên, mở terminal và thực thi lệnh sau ...
Đăng vào ngày 21 tháng 7 lúc 07:47
Tìm hiểu về RabbitMQ và cơ chế hoạt động của Message Queue
Khái niệm cơ bản về Message Queue (MQ)
Message Queue (MQ) là một thành phần trung gian được sử dụng để lưu trữ các thông điệp trong quá trình truyền tải giữa các hệ thống. Trong các kiến trúc hệ thống phân tán, MQ đóng vai trò như một "bưu cục" giúp các thành phần giao tiếp với nhau mà không cần kết nối trực tiếp.
Producer (Ngư ...
Đăng vào ngày 18 tháng 7 lúc 05:29
Giải pháp Xử lý Lỗi và Tính Năng Nâng cao trong RabbitMQ
RabbitMQ cung cấp cơ chế xác nhận (Confirm) để đảm bảo rằng các tin nhắn đã được gửi đến exchange thành công.
await Kênh.XácNhậnChọnAsync();
ThuộcTínhCơBản properties = new ThuộcTínhCơBản()
{
DeliveryMode = DeliveryModes.Persistent,
};
await Kênh.XuấtBảnCơBảnAsync(exchange: exchange, routingKey: routingKey, body: Encoding.UTF8.GetBytes(me ...
Đăng vào ngày 4 tháng 7 lúc 16:01
Gói đóng gói .NET RabbitMQ với Trực tiếp Trao đổi và Hàng đợi Thư chết (Phần 11)
Thư mục Connector - Mã nguồn
public interface IRabbitConnector : IDisposable
{
/// <summary>
/// Khởi tạo trao đổi và hàng đợi
/// </summary>
/// <param name="config"></param>
/// <returns></returns>
Task SetupExchangeAndQueueAsync(MessageConfigur ...
Đăng vào ngày 4 tháng 7 lúc 15:47
Bảo đảm Tính nhất quán Dữ liệu trong Hàng đợi Tin nhắn
Nguyên nhân gây ra vấn đề nhất quán dữ liệu
Các sự cố phổ biến trong hệ thống hàng đợi tin nhắn bao gồm:
Lỗi nhà sản xuất: Tin nhắn được nhận bởi broker nhưng chưa ghi đĩa trước khi mất điện
Lỗi người tiêu dùng: Xử lý nghiệp vụ thất bại sau khi tiêu thụ tin nhắn thành công
Phân phối trùng lặp: Do bất ổn mạng gây ra gửi tin nhắn nhiều lần
Bất đ ...
Đăng vào ngày 27 tháng 6 lúc 08:16
Tích Hợp Message Queue ActiveMQ và RabbitMQ Vào Dự Án Spring Boot
Message Queue (MQ) đóng vai trò trung gian trong việc lưu trữ và chuyển tiếp thông điệp giữa các dịch vụ, hoạt động tương tự như hệ thống bưu chính. Mục tiêu chính của kỹ thuật này là hỗ trợ xử lý bất đồng bộ và giảm sự phụ thuộc chặt chẽ giữa các module (decoupling).
Về mặt quy trình sử dụng, MQ có nét tương đồng với cơ sở dữ liệu khi cần thiế ...
Đăng vào ngày 27 tháng 6 lúc 00:55
Xây dựng Hệ thống RPC với RabbitMQ và PHP
Giới thiệu về RPC
Trong bài hướng dẫn thứ hai, chúng ta đã học cách sử dụng hàng đợi công việc để phân phối các tác vụ tốn thời gian giữa nhiều worker.
Nhưng nếu chúng ta cần thực thi một hàm trên máy tính từ xa và chờ kết quả thì sao? Đó là một câu chuyện khác. Mô hình này thường được gọi là "gọi thủ tục từ xa" (RPC).
Trong hướng dẫn ...
Đăng vào ngày 21 tháng 6 lúc 02:50
Thiết Lập Hệ Thống Hàng Đợi Thông Điệp Đảm Bảo Tính Sẵn Sàng Cao Với RabbitMQ và HAProxy
Cấu hình môi trường triển khai:
Máy chủ chính: 192.168.1.10 (mq-primary)
Máy chủ dự phòng: 192.168.1.11 (mq-secondary)
Load balancer: 192.168.1.12 (lb-proxy)
Đảm bảo cập nhật file /etc/hosts trên tất cả máy để phân giải tên miền nội bộ.
Cài đặt RabbitMQ Cluster
Thực hiện cài đặt trên cả hai máy chủ mq-primary và mq-secondary:
sudo apt updat ...
Đăng vào ngày 20 tháng 6 lúc 01:01