Edutech

Edutech

Share

CODII-Solution
Đào tạo CNTT, QA (Tester), BA, PM, SQL, Đồ họa, lập trình trẻ em, kỹ năng số và hơn thế

06/11/2025

SQL Server Service Broker là gì?

SQL Server Service Broker (gọi tắt là SQL Broker) là một tính năng của Microsoft SQL Server cho phép truyền thông điệp (message-based communication) giữa các cơ sở dữ liệu hoặc giữa các tiến trình trong cùng một database.

Nói cách khác, SQL Broker giúp bạn xử lý bất đồng bộ (asynchronous processing) trong SQL Server — tức là tách phần công việc nặng hoặc chậm (như gửi email, cập nhật báo cáo, log sự kiện...) ra khỏi luồng xử lý chính để thực hiện sau, mà không làm chậm ứng dụng.

🧩 Cấu trúc cơ bản của SQL Broker

Một hệ thống Service Broker bao gồm các thành phần chính:
1. Message Type – Định nghĩa cấu trúc của thông điệp (message) gửi đi.
2. Contract – Định nghĩa loại thông điệp nào được gửi/nhận giữa hai bên.
3. Queue – Nơi lưu trữ các message khi gửi đi hoặc nhận về.
4. Service – Là điểm cuối (endpoint) để gửi và nhận message qua queue.
5. Conversation – Phiên giao tiếp giữa hai service (có thể kéo dài qua nhiều message).
6. Activation Procedure – Thủ tục được tự động kích hoạt khi có message đến queue (giống trigger).

⚙️ Ví dụ đơn giản

Giả sử bạn có một bảng Orders và muốn xử lý việc gửi email xác nhận bất đồng bộ sau khi đơn hàng được tạo:
1. Khi insert vào Orders, bạn gửi 1 message đến queue của EmailService.
2. EmailService có một activation procedure chạy khi có message mới, nó sẽ:
- Lấy message ra
- Gửi email
- Cập nhật trạng thái "EmailSent"
Nhờ đó, người dùng không phải chờ việc gửi email hoàn tất mới thấy kết quả lưu đơn hàng.

🚀 Ưu điểm
- Xử lý bất đồng bộ trong nội bộ SQL Server (không cần queue ngoài như RabbitMQ, MSMQ).
- Đảm bảo tính tin cậy (message không mất, có rollback).
- Có thể giao tiếp giữa nhiều database hoặc server.
- Tích hợp tốt trong các hệ thống giao dịch nặng.

⚠️ Một số lưu ý
- Phải bật Service Broker:
ALTER DATABASE YourDB SET ENABLE_BROKER;
- Cần theo dõi queue và error log nếu message bị block hoặc lỗi.
- Không nên lạm dụng để thay thế các hàng đợi message chuyên dụng trong hệ thống lớn (như RabbitMQ, Kafka...).

Want your business to be the top-listed Computer & Electronics Service in Hanoi?
Click here to claim your Sponsored Listing.

Address


Hàm Nghi, Nam Từ Liêm
Hanoi