共计 1240 个字符,预计需要花费 4 分钟才能阅读完成。
起源: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>
应用阐明:
-
先实例操作对象,SimpleClient 第一个参数为服务器连贯,第二个参数是 mq 的用户名明码,用 = 连贯
MqClient mc = new SimpleClient("ws://127.0.0.1:5100", "mymq =123"); MqClient 是对立接口,SimpleClient 为 tlmq- j 实现的繁难实现,实现了 tldb mq 的协定,反对断线重连,反对 wss 协定
-
实现接管订阅信息的 handler,用于接管服务器推送的信息
mc.pubJsonHandler((mb) -> {logger.info(mb.toString());});
-
调用函数连贯服务器
mc.connect();
-
订阅 topic,MQ 服务器订阅的 topic,推送相应的信息
mc.sub("userinfo")
-
公布信息. 公布信息即播送信息给所有订阅该 topic 的节点
mc.pubJson("userinfo", "this is java pubJson")
其余函数阐明:
-
指定该连贯接管信息,服务器能够聚合多条信息一起发送,参数示意原传输数据的最大大小,单位 M
mc.mergeOn((byte) 10); 设定服务器压缩原数据大小下限 10M
-
subCancel 是勾销该节点订阅的 topic
sc.subCancel("userinfo"); // 订阅 topic“userinfo”
-
pullIdSync 是拉取指定 topic 的以后 id,也即最大 id,tldb mq 每个 topic 都有惟一 id,都会在公布时自增,用于客户端比拟判断本地是否有信息为接管到或失落数据
long id = mc.pullIdSync("userinfo");
-
pullJsonSync 与 pullByteSync 作用是拉取 topic 数据,第一个参数是 topic,第二个参数是 topic 的 id 值
JMqBean jmb = mc.pullJsonSync("userinfo", 1); MqBean mb = mc.pullByteSync("userinfo", 1);
- tldb mq 还有其余的接口
请看《如何应用 tldb MQ》有具体的接口阐明
有任何问题或倡议请 Email:donnie4w@gmail.com 或 http://tlnet.top/contact 发信给我,谢谢!
正文完