来源:《高性能分布式数据库tldb v0.0.2 发布》
前言:Tldb是一个高性能的分布式数据库和MQ服务器,tldb数据库的测重点在于性能和分布式解决方案,通过tldb可以快速搭建分布式系统,官网有详细介绍

tldb 第二个版本 v0.0.2 发布

该版本主要发布的内容:

  1. 性能优化。这个版本主要针对客户端数据服务接口与序列化进行性能优化。tldb的客户端与服务器交互的接口使用了thrift,该版本将官方thrift库换成 gothrift,gothrift针对序列化和网络传输上做了优化,在反序列化上,有至少3倍性能的提升,在网络传输上也有大幅度的提高,这与接口参数相关. gothrift的相关介绍在《gothrift 一 go版thrift性能优化项目
  2. tldb提供分布式锁的方法。 分布式锁是分布式系统中重要的工具。tldb提供了作用于整个tldb集群的分布式锁,所以多个客户端向 tldb集群中的不同节点可以获取到相同资源的分布式锁。分布式锁的相关方法是lock,trylock,unlock. tldb的锁资源(或者说锁对象)为字符串. 也就是说,tldb对客户端提供的一串字符串进行分布式加锁。在同一时刻,tldb集群中对相同的字符串的分布式锁只有一个。 tldb的分布式锁的用法在《全新的分布式锁,功能简单且强大》中有详细的说明
  3. tldb对管理后台的界面进行了优化。
  4. mq的客户端部分增加了subJson(topic)方法,通过该方法,服务器会把所有发布该topic数据,包括非json格式的数据,都转换为json格式,推送到该链接。tldb MQ的使用是非常简洁和灵活的,每个客户端链接都可以设置针对本链接的需要的功能,如,接收的数据格式,是否回执,数据是否聚合发送,是否压缩等。
  5. MQ的客户端使用在《TLDB MQ客户端使用》《tldb数据库的java客户端如何使用》《如何使用tldb MQ》有比较详细的说明
  6. 分布式锁的客户端方法在MQ客户端中实现。目前已经实现的mq客户端 java,golang已经同步更新

java MQ客户端tlmq-j 的maven配置为:

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

MQ客户端:

golang:https://github.com/donnie4w/tlmq-go
java:https://github.com/donnie4w/tlmq-j
python:https://github.com/donnie4w/tlmq-py
js:https://github.com/donnie4w/tlmq-js

以下是部分分布式锁的功能测试数据

多线程并发调用lock获取同一个对象锁后,程序的运行数据:

多线程并发使用自旋的方式调用trylock与lock获取同一个对象锁:


以下是tldb0.0.2部分优化的后台界面:





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


donnie4w
6 声望0 粉丝

Github:[链接]