起源:《高性能分布式数据库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.com或 https://tlnet.top/contact 发信给我,谢谢!