对 eclipse 封装的 golang mqtt client 进行二次封装, 将通信层做成同步接口

本文介绍了如何对 Eclipse 的 Golang MQTT 客户端进行二次封装,目的是将通信层转换为同步接口,模拟 Restful 风格。通过实现 CHanlder 接口并订阅消息,微服务可以方便地处理彼此之间的通信。每个处理器都在单独的 goroutine 中运行,提供 Send、Get、Post 等同步接口,允许直接获取响应结果。源码可在 GitHub 上的 mqtt_comm 仓库查看。
摘要由CSDN通过智能技术生成

用途:

封装用于微服务之间的通信

 

接口:

type CMqttComm interface {
	Connect(isReConnect bool)
	SetMessageBus(host string, port int, username string, userpwd string)
	Subscribe(action string, topic string, qos int, handler CHandler, user interface{}) error
	UnSubscribe(action string, topic string) error
	Send(action string, topic string, request string, qos int, timeout int) (response string, err error)
	Get(topic string, request string, qos int, timeout int) (response string, err error)
	Post(topic string, request string, qos int, timeout int) (response string, err error)
	Put(topic string, request string, qos int, timeout int) (response string, err error)
	Delete(topic string, request string, qos int, timeout int) (response string, err error)
	Updated(topic string, request string, qos int) error
	Deleted(topic string, request string, qos int) error
}

 

模拟的是 Restful 的风格

各个微服务之间仅仅需要关注自己所关注的请求, 再 C

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值