Documentation ¶
Overview ¶
@File: rabbitmq @Date: 2021/1/27 17:30 @Author: 安红豆 @Description: 对“github.com/streadway/amqp”进行二次封装,方便调用
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type RabbitMQ ¶
type RabbitMQ struct { ExchangeName string //交换机名称 QueueName string //队列名称 Key string //Binding Key/Routing Key, Simple模式 几乎用不到 MqURL string //连接信息-amqp://账号:密码@地址:端口号/-amqp://guest:guest@127.0.0.1:5672/ // contains filtered or unexported fields }
RabbitMQ实例
type RabbitMQInterface ¶
type RabbitMQInterface interface { Publish(message string) (err error) Consume() (consumeChan <-chan amqp.Delivery, err error) }
定义RabbitMQ实例的接口 每种RabbitMQ实例都有发布和消费两种功能
type RabbitMQSimple ¶
type RabbitMQSimple struct {
*RabbitMQ
}
1 Simple模式,最简单最常用的模式 2 Work模式,一个消息只能被一个消费者消费
func NewRabbitMQSimple ¶
func NewRabbitMQSimple(queueName, mqUrl string) (rabbitMQSimple *RabbitMQSimple, err error)
创建简单模式下的实例,只需要queueName这个参数,其中exchange是默认的,key则不需要。
func (*RabbitMQSimple) Consume ¶
func (r *RabbitMQSimple) Consume() (consumeChan <-chan amqp.Delivery, err error)
直接模式,消费者
func (*RabbitMQSimple) Publish ¶
func (r *RabbitMQSimple) Publish(message string) (err error)
直接模式,生产者.
type RabbitMQTopic ¶ added in v1.1.0
type RabbitMQTopic struct {
*RabbitMQ
}
5 Topic话题模式
func NewRabbitMqTopic ¶
func NewRabbitMqTopic(exchangeName, routingKey, mqUrl string) (rabbitMQTopic *RabbitMQTopic, err error)
获取话题模式下的rabbitmq的实例
func (*RabbitMQTopic) Consume ¶ added in v1.1.0
func (r *RabbitMQTopic) Consume() (consumeChan <-chan amqp.Delivery, err error)
topic模式。消费者。"*"表示匹配一个单词。“#”表示匹配多个单词,亦可以是0个。
func (*RabbitMQTopic) Publish ¶ added in v1.1.0
func (r *RabbitMQTopic) Publish(message string) (err error)
topic模式。生产者。
type RabbitMqRouting ¶
type RabbitMqRouting struct {
*RabbitMQ
}
4 Routing路由模式
func NewRabbitMqRouting ¶
func NewRabbitMqRouting(exchangeName, routingKey, mqUrl string) (rabbitMqRouting *RabbitMqRouting, err error)
获取路由模式下的rabbitmq的实例
func (*RabbitMqRouting) Consume ¶
func (r *RabbitMqRouting) Consume() (consumeChan <-chan amqp.Delivery, err error)
路由模式接收信息
func (*RabbitMqRouting) Publish ¶
func (r *RabbitMqRouting) Publish(message string) (err error)
路由模式发送信息
type RabbitMqSubscription ¶
type RabbitMqSubscription struct {
*RabbitMQ
}
3 Publish/Subscribe发布订阅模式
func NewRabbitMqSubscription ¶
func NewRabbitMqSubscription(exchangeName, mqUrl string) (rabbitMqSubscription *RabbitMqSubscription, err error)
获取订阅模式下的rabbitmq的实例
func (*RabbitMqSubscription) Consume ¶
func (r *RabbitMqSubscription) Consume() (consumeChan <-chan amqp.Delivery, err error)
订阅模式消费者
func (*RabbitMqSubscription) Publish ¶
func (r *RabbitMqSubscription) Publish(message string) (err error)
订阅模式发布消息
Click to show internal directories.
Click to hide internal directories.