Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrConnectionFailed = NewMQError(ErrCodeConnectionFailed, "connection failed", nil) ErrMessageSendFailed = NewMQError(ErrCodeMessageSendFailed, "message send failed", nil) ErrMessageReceiveFailed = NewMQError(ErrCodeMessageReceiveFailed, "message receive failed", nil) ErrQueueNotFound = NewMQError(ErrCodeQueueNotFound, "queue not found", nil) ErrSerializationFailed = NewMQError(ErrCodeSerializationFailed, "serialization failed", nil) ErrDeserializationFailed = NewMQError(ErrCodeDeserializationFailed, "deserialization failed", nil) ErrTimeout = NewMQError(ErrCodeTimeout, "operation timeout", nil) ErrInvalidConfig = NewMQError(ErrCodeInvalidConfig, "invalid configuration", nil) ErrClientClosed = NewMQError(ErrCodeClientClosed, "client is closed", nil) )
预定义错误
Functions ¶
This section is empty.
Types ¶
type Consumer ¶
type Consumer interface {
// Subscribe 订阅消息
Subscribe(ctx context.Context, topic string, handler message.Handler) error
// Unsubscribe 取消订阅
Unsubscribe(topic string) error
// Close 关闭消费者
Close() error
}
Consumer 消费者接口
type DelayQueue ¶ added in v0.1.0
type DelayQueue interface {
// Push 推送延时消息
Push(ctx context.Context, msg *message.Message, delay time.Duration) error
// Pop 弹出到期消息
Pop(ctx context.Context) (*message.Message, error)
// Remove 移除消息
Remove(ctx context.Context, msgID string) error
// Size 获取队列大小
Size(ctx context.Context) (int64, error)
}
DelayQueue 延时队列接口
type MQ ¶ added in v0.1.0
type MQ interface {
Producer() Producer
Consumer() Consumer
DelayQueue() DelayQueue
HealthCheck() error
Close() error
}
MQ 消息队列统一接口
type MQError ¶ added in v0.1.0
type MQError struct {
Code ErrorCode `json:"code"`
Message string `json:"message"`
Cause error `json:"cause,omitempty"`
}
MQError 消息队列错误
func NewMQError ¶ added in v0.1.0
NewMQError 创建MQ错误
type Middleware ¶ added in v0.1.0
Middleware 中间件函数类型
func LoggingMiddleware ¶ added in v0.1.0
func LoggingMiddleware(logger *zap.Logger) Middleware
LoggingMiddleware 日志中间件 - 简化版本
func RetryMiddleware ¶ added in v0.1.0
func RetryMiddleware(maxRetries int, backoff time.Duration) Middleware
RetryMiddleware 重试中间件
func TimeoutMiddleware ¶ added in v0.1.0
func TimeoutMiddleware(timeout time.Duration) Middleware
TimeoutMiddleware 超时中间件
type MiddlewareChain ¶ added in v0.1.0
type MiddlewareChain struct {
// contains filtered or unexported fields
}
MiddlewareChain 中间件链
func NewMiddlewareChain ¶ added in v0.1.0
func NewMiddlewareChain(middlewares ...Middleware) *MiddlewareChain
NewMiddlewareChain 创建中间件链
type Producer ¶
type Producer interface {
// Send 发送消息
Send(ctx context.Context, msg *message.Message) error
// SendDelay 发送延时消息
SendDelay(ctx context.Context, msg *message.Message, delay time.Duration) error
// SendBatch 批量发送消息
SendBatch(ctx context.Context, msgs []*message.Message) error
// Close 关闭生产者
Close() error
}
Producer 生产者接口
Click to show internal directories.
Click to hide internal directories.