Tin nhắn
Tin nhắn là một phần quan trọng của Watermill. Tin nhắn được xuất bản bởi "publishers" và nhận bởi "subscribers." Khi xử lý tin nhắn, nếu xử lý thất bại, bạn nên gửi một Ack()
(chỉ định xử lý thành công) hoặc một Nack()
(chỉ định xử lý thất bại).
Ack
và Nack
của tin nhắn được xử lý bởi các subscribers (trong triển khai mặc định, subscribers sẽ chờ đợi Ack
hoặc Nack
).
Mã nguồn đầy đủ: github.com/ThreeDotsLabs/watermill/message/message.go
// ...
type Message struct {
// UUID là định danh duy nhất của tin nhắn.
//
// Nó được sử dụng cho mục đích gỡ lỗi bởi Watermill.
// UUID có thể trống.
UUID string
// Metadata chứa các siêu dữ liệu của tin nhắn.
//
// Có thể được sử dụng để lưu trữ dữ liệu mà không cần phải giải mã từ toàn bộ payload.
// Nó tương tự như các tiêu đề yêu cầu HTTP.
//
// Metadata s