mq

package
v1.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2020 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AdapterMap = make(map[Adapter]Instance)
View Source
var EXCHANGE_NAME_DIRECT = "REACT_MQ_DIRECT_EXCHANGE" //Driect模式默认交换器名称定义

var MAX_POOL_SIZE = 512 //连接池最大连接数 var DEFAULT_POOL_SIZE = int(5) //连接池默认连接数

View Source
var EXCHANGE_NAME_FANOUT = "REACT_MQ_FANOUT_EXCHANGE" //Fanout模式默认交换器名称定义
View Source
var EXCHANGE_NAME_TOPIC = "REACT_MQ_TOPIC_EXCHANGE" //Topic模式默认交换器名称定义
View Source
var UNSET = "<UNSET>"

Functions

func Register

func Register(adapter Adapter, ins Instance) (err error)

注册对象创建方法

Types

type Adapter

type Adapter int8
const (
	Adapter_RabbitMQ Adapter = 1
	Adapter_RedisMQ  Adapter = 2
	Adapter_KafkaMQ  Adapter = 3
	Adapter_RocketMQ Adapter = 4
	Adapter_MQTT     Adapter = 5
	Adapter_ETCD     Adapter = 6
)

func (Adapter) String

func (a Adapter) String() string

type FnConsumeCb

type FnConsumeCb func(strBody string) //消费者数据回调通知

type IReactMQ

type IReactMQ interface {
	/*
	* @brief 	MQ服务器连接接口定义
	* @param 	strUrl 连接服务器URL(格式规范 [amqp|redis|rocket|kafka|mqtt]://user:password@host:port)
	* @return 	err 连接失败返回具体错误信息
	 */
	Connect(mode Mode, strURL string) (err error)

	/*
	* @brief 	MQ服务器重新连接接口定义
	* @param
	* @return 	err 连接失败返回具体错误信息
	* @remark   当Publish返回错误且IsClosed()方法亦返回true时调用此方法重连MQ服务器
	 */
	Reconnect() (err error)

	/*
	* @brief 	判定是否MQ服务器断开连接(异常宕机或重启)
	* @param
	* @return 	远程服务器连接断开返回true,否则返回false
	 */
	IsClosed() bool

	/*
	* @brief 	消息发布接口定义(仅支持字符串类型消息)
	* @param 	strRoutingKey 	路由Key
	* @param	strData 		消息数据
	* @return   err 发布失败返回具体错误信息
	 */
	Publish(strRoutingKey, strData string) (err error)

	/*
	* @brief 	消息消费接口定义
	* @param 	strBidingKey 	队列绑定Key
	* @param	strQueueName 	队列名称(redis/mqtt协议非必填)
	* @return   err 成功返回nil,失败返回返回具体错误信息
	* @remark   服务器异常或重启时内部会自动重连服务器
	 */
	Consume(strBidingKey, strQueueName string, cb FnConsumeCb) (err error)

	/*
	* @brief 	开启或关闭调式模式
	* @param 	enable 	true开启/false关闭
	 */
	Debug(enable bool)
}

func GetAdapter

func GetAdapter(adapter Adapter) (IReactMQ, error)

适配器: 获取MQ对象

type Instance

type Instance func() IReactMQ

type Mode

type Mode int8
const (
	Mode_Direct Mode = 1 //根据routing-key完全匹配消息队列
	Mode_Topic  Mode = 2 //根据topic规则匹配消息队列
	Mode_Fanout Mode = 3 //广播模式
)

func (Mode) String

func (m Mode) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL