起源:如何应用tldb MQ

tldb是高性能分布式数据库

  • 次要解决分布式服务问题与数据库集群问题
  • 基于 tldb,能够用最简洁最快的形式搭建分布式服务零碎

tldb MQ是基于tldb分布式数据库根底之上的。它的次要侧重点在数据与性能方面,相对来说性能比拟少,次要就是订阅主题与公布主题信息

tldb MQ的音讯协定格局有两种:一是字节数组,一是字符串json格局

封装在tlmq客户端别离对应的对象是:MqBean{Id,Topic,Msg} 与 JMqBean{"Id":0,"Topic":"","Msg":""}

tlmq客户端目前有4个 别离是Java,Python,Golang,JavaScript


tlmq的客户端函数别离有:

函数名称    作用    用例Connect    连贯服务器    Connect()Sub    订阅主题    Sub("userinfo")SubCancel    勾销订阅    SubCancel("userinfo")MergeOn    数据汇合发送    MergeOn(1)SetZlib    数据压缩    SetZlib(true)RecvAckOn    客户端回执    RecvAckOn(10)PullIdSync    拉取topic的以后Id    PullIdSync("userinfo")PullJsonSync    拉取topic信息    PullJsonSync("userinfo",20)PullByteSync    拉取topic信息    PullByteSync("userinfo",20)PullJson    异步拉取topic信息    PullJson("userinfo",20)PullByte    异步拉取topic信息    PullByte("userinfo",20)PubMem    公布topic,不存储信息    PubMem("userinfo",“this is mem info”)PubJson    公布topic    PubJson("userinfo",“this is json info”)PubByte    公布topic,字节数组    PubByte("userinfo",[1,0,1,0,1,0,1,0])PullByteHandler    异步解决PullByte拉取的信息    依据须要实现该办法或接口PullJsonHandler    异步解决PullJson拉取的信息    依据须要实现该办法或接口PubByteHandler    解决PubByte公布的信息    依据须要实现该办法或接口PubJsonHandler    解决PubJson公布的信息    依据须要实现该办法或接口PubMemHandler    解决PubMem公布的信息    依据须要实现该办法或接口AckHandler    解决服务器回执    如业务须要确认服务器收到客户端信息,则实现该办法或接口ErrHandler    解决服务器返回的错误码    服务器返回登录信息或客户端协定谬误的错误码Before    链接上服务器时触发该接口    依据须要实现该办法或接口

能够应用曾经实现的客户端连贯服务器,也能够依据mq协定本人实现客户端

如何应用tlmq-go 客户端:

  1. 引入包 import "github.com/donnie4w/tlmq-go/cli"

     sc := cli.NewMqClient("ws://127.0.0.1:5000", "mymq=123")
  2. 首先 实例化一个连贯对象 ,如果服务器启动tls,第一个参数则是 wss://IP:端口 第二个参数格局 用户=明码
  3. 第二 实现接管订阅信息的办法 一个或多个: PubByteHandler , PubJsonHandler , PubMemHandler

     sc.PubJsonHandler(func(jmb *JMqBean){ logging.Debug("PubJson >> ", jmb) }) PubJsonHandler对应的公布办法是  PubJson PubByteHandler对应的公布办法是  PubByte PubMemHandler对应的公布办法是 PubMem解析:如果有节点通过 PubJson公布了mq信息,如pubjson("logininfo","tom login")服务器则会把("logininfo","tom login")信息推送到订阅 "logininfo" 的节点上,由节点的PubJsonHandler办法解决
  4. 第三 调用 sc.Connect() 连贯MQ服务器
  5. 第四 sc.Sub("logininfo") 订阅mq的topic
  6. 第五 sc.PubJson("logininfo", "tom login") 公布mq信息

  • tldb mq的go客户端 :tlmq-go
  • 应用用例:tldbTest
  • 应用用例 地址2:tldbTest

有任何问题或倡议请Email:donnie4w@gmail.com或 http://tlnet.top/contact 发信给我,谢谢!