起源:《高性能分布式数据库tldb v0.0.2 公布》
前言:Tldb是一个高性能的分布式数据库和MQ服务器,tldb数据库的测重点在于性能和分布式解决方案,通过tldb能够疾速搭建分布式系统,官网有具体介绍
tldb 第二个版本 v0.0.2 公布
该版本次要公布的内容:
- 性能优化。这个版本次要针对客户端数据服务接口与序列化进行性能优化。tldb的客户端与服务器交互的接口应用了thrift,该版本将官网thrift库换成 gothrift,gothrift针对序列化和网络传输上做了优化,在反序列化上,有至多3倍性能的晋升,在网络传输上也有大幅度的进步,这与接口参数相干. gothrift的相干介绍在《gothrift 一 go版thrift性能优化我的项目》
- tldb提供分布式锁的办法。 分布式锁是分布式系统中重要的工具。tldb提供了作用于整个tldb集群的分布式锁,所以多个客户端向 tldb集群中的不同节点能够获取到雷同资源的分布式锁。分布式锁的相干办法是lock,trylock,unlock. tldb的锁资源(或者说锁对象)为字符串. 也就是说,tldb对客户端提供的一串字符串进行分布式加锁。在同一时刻,tldb集群中对雷同的字符串的分布式锁只有一个。 tldb的分布式锁的用法在《全新的分布式锁,性能简略且弱小》中有具体的阐明
- tldb对治理后盾的界面进行了优化。
- mq的客户端局部减少了subJson(topic)办法,通过该办法,服务器会把所有公布该topic数据,包含非json格局的数据,都转换为json格局,推送到该链接。tldb MQ的应用是十分简洁和灵便的,每个客户端链接都能够设置针对本链接的须要的性能,如,接管的数据格式,是否回执,数据是否聚合发送,是否压缩等。
- MQ的客户端应用在《TLDB MQ客户端应用》《tldb数据库的java客户端如何应用》《如何应用tldb MQ》有比拟具体的阐明
- 分布式锁的客户端办法在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 发信给我,谢谢!