Dùng RabbitMQ Dead Letter Queue để tự động hủy đơn hàng sau 30 phút
1. Bối cảnh
Trong một hệ thống nội bộ dành cho nhân viên hỗ trợ, khi họ tạo đơn hàng quảng cáo trên màn hình LED, nếu không xác nhận triển khai trong vòng 30 phút, hệ thống cần tự động hủy đơn hàng đó. Số lượng người dùng và mức độ đồng thời rất thấp.
2. Các giải pháp khả thi
Để tự động đóng đơn hàng sau 30 phút, có thể áp dụng một số phương ...
Đăng vào ngày 17 tháng 6 lúc 21:29
Triển Khai Giao Dịch Phân Tán Trong Microservices .NET Sử Dụng CAP Và RabbitMQ
Giới thiệu về tính nhất quán dữ liệu trong kiến trúc phân tán
Khi hệ thống phát triển thành kiến trúc microservices, áp lực lên cơ sở dữ liệu tăng lên đáng kể. Để giải quyết vấn đề này, chúng ta thường thực hiện chia tách cơ sở dữ liệu theo chiều ngang (sharding) hoặc chiều dọc (tách bảng theo chức năng). Tuy nhiên, việc phân tách này dẫn đến t ...
Đăng vào ngày 13 tháng 6 lúc 17:15
Hướng Dẫn Tích Hợp RabbitMQ Trong Dự Án Spring Boot
Tổng Quan Về Message Queue Và RabbitMQ
Message Queue (Hàng đợi tin nhắn) hay còn gọi là MQ, là phương thức giao tiếp giữa các ứng dụng dựa trên mô hình Producer-Consumer. Một bên tạo ra và đẩy dữ liệu vào hàng đợi, trong khi bên kia trích xuất và xử lý thông tin đó. RabbitMQ là một trong những giải pháp triển khai MQ phổ biến nhất, hỗ trợ giao ...
Đăng vào ngày 10 tháng 6 lúc 04:15
RabbitMQ - Hệ Thống Giao Tiếp Tin Nhắn
I. Kiến Thức Cơ Bản
1. RabbitMQ là gì
RabbitMQ được phát hành vào năm 2007, là một hệ thống hoàn thiện dựa trên AMQP (Giao thức Hàng đợi Tin nhắn Nâng cao), viết tắt là MQ. Toàn danh là Message Queue (Hàng đợi Tin nhắn). MQ là một phương pháp giao tiếp giữa ứng dụng và ứng dụng, được phát triển bằng ngôn ngữ Erlang (ngôn ngữ chuyên dụng cho xử ...
Đăng vào ngày 9 tháng 6 lúc 03:30
Nguyên lý hoạt động và ứng dụng của RabbitMQ
Tác dụng của Message Queue
Giải phóng liên kết ứng dụng
Giảm sự phụ thuộc giữa các hệ thống, khi một ứng dụng gặp lỗi sẽ không ảnh hưởng đến ứng dụng khác, nâng cao độ ổn định hệ thống.
Điều tiết lưu lượng
Trong giờ cao điểm, ngăn chặn việc tất cả yêu cầu đồng thời truy cập cơ sở dữ liệu. Hàng đợi đóng vai trò bộ đệm, giúp yêu cầu được xử lý ổ ...
Đăng vào ngày 4 tháng 6 lúc 19:05
Sử dụng RabbitMQ trong PHP để xử lý hàng đợi đơn hàng và hàng đợi tiêu thụ trễ
Để triển khai cơ chế xử lý bất đồng bộ cho hệ thống đặt hàng, RabbitMQ là một lựa chọn phổ biến. Trong bài viết này, chúng ta sẽ xây dựng hai loại hàng đợi: hàng đợi tiêu thụ thông thường và hàng đợi tiêu thụ trễ (delay queue) bằng cách tận dụng tính năng Dead Letter Exchange (DLX) của RabbitMQ.
Cài đặt thư viện
Sử dụng php-amqplib/php-amqplib ...
Đăng vào ngày 24 tháng 5 lúc 12:50
Giải quyết lỗi RabbitMQ khi chạy HmDianPingApplication.java
Cách khắc phục
Trong file application.yaml, hãy điều chỉnh cấu hình RabbitMQ như sau:
rabbitmq:
host: localhost
username: guest
password: guest
virtual-host: /
port: 5672
Lưu ý:
Địa chỉ host phải khớp với địa chỉ của trang quản lý RabbitMQ trong trình duyệt.
Tên tài khoản và mật khẩu mặc định là guest.
Cổng mặc định là 5672 (nếu bạn ...
Đăng vào ngày 22 tháng 5 lúc 03:03
Hướng dẫn cài đặt Docker và các thao tác phổ biến
1. Cài đặt Docker
Tham khảo: https://www.linuxidc.com/Linux/2019-05/158421.htm
1.1 Cấu hình nguồn Docker (Ubuntu)
# Cập nhật nguồn, đặc biệt với hệ thống mới cài, cần chạy apt-get update để đồng bộ chỉ mục từ /etc/apt/sources.list và /etc/apt/sources.list.d, nhằm tải các gói phần mềm mới nhất.
$ sudo apt-get update
# Kích hoạt HTTPS
sudo apt-g ...
Đăng vào ngày 19 tháng 5 lúc 11:39
Sử dụng Python để làm việc với Memcached, Redis, RabbitMQ và SQLAlchemy
Memcached là hệ thống bộ nhớ đệm phân tán hiệu suất cao, giúp giảm tải cho cơ sở dữ liệu trong các ứng dụng web động. Nó lưu trữ dữ liệu dưới dạng cặp key-value trong bộ nhớ, từ đó giảm số lần truy vấn trực tiếp vào database.
Cài đặt và cấu hình Memcached
# Cài gói phụ thuộc
yum install libevent-devel
# Cài Memcached
yum -y install memcached
...
Đăng vào ngày 18 tháng 5 lúc 16:15