来源:java如何使用tldb MQ

tldb是高性能分布式数据库

  • 主要解决分布式服务问题与数据库集群问题
  • 基于 tldb,可以用最简洁最快的方式搭建分布式服务系统

java mq客户端tlmq-j开源地址https://github.com/donnie4w/tlmq-j

MQ是构建分布式项目的一把利剑,tldb mq是一个高性能,易用,易维护,可靠的MQ服务

tlmq-j 的 mavan依赖配置:

<dependency>    
    <groupId>io.github.donnie4w</groupId>    
    <artifactId>tlmq-j</artifactId>    
    <version>0.0.1</version>
</dependency>

使用说明:

  1. 先实例操作对象,SimpleClient第一个参数为服务器连接,第二个参数是mq的用户名密码,用=连接

    MqClient mc = new SimpleClient("ws://127.0.0.1:5100", "mymq =123");
    MqClient是统一接口,SimpleClient为tlmq-j实现的简易实现,实现了tldb mq的协议,支持断线重连,支持wss协议
  2. 实现接收订阅信息的handler,用于接收服务器推送的信息

    mc.pubJsonHandler((mb) -> {logger.info(mb.toString());});
  3. 调用函数连接服务器

    mc.connect();
  4. 订阅topic,MQ服务器订阅的topic,推送相应的信息

    mc.sub("userinfo")
    
  5. 发布信息. 发布信息即广播信息给所有订阅该topic的节点

    mc.pubJson("userinfo", "this is java pubJson")
    

其他函数说明:

  1. 指定该连接接收信息,服务器可以聚合多条信息一起发送,参数表示原传输数据的最大大小,单位M

     mc.mergeOn((byte) 10); 设定服务器压缩原数据大小上限 10M
    
  2. subCancel是取消该节点订阅的topic

     sc.subCancel("userinfo"); //订阅 topic “userinfo”
    
  3. pullIdSync是拉取指定topic的当前id,也即最大id,tldb mq 每个topic都有唯一id,都会在发布时自增, 用于客户端比较判断本地是否有信息为接收到或丢失数据

     long id = mc.pullIdSync("userinfo");
    
  4. pullJsonSync与pullByteSync作用是拉取topic数据,第一个参数是topic,第二个参数是topic的id值

     JMqBean jmb = mc.pullJsonSync("userinfo", 1);
     MqBean mb = mc.pullByteSync("userinfo", 1);
    
  5. tldb mq还有其他的接口
    请看《如何使用tldb MQ》有详细的接口说明

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


donnie4w
6 声望0 粉丝

Github:[链接]