SF
donnie4w
donnie4w
注册登录
关注博客
注册登录
主页
关于
RSS
go-logger v0.27.0 - 并发性能为官方库 10 倍
donnie4w
10 月 30 日
阅读 5 分钟
280
go-logger 是一个高性能的 golang 日志库,旨在提供快速、轻量级的日志记录功能Github使用文档v0.27.0 更新内容优化内存分配优化写数据性能增加日志属性自定义函数增加各个日志级别格式化打印函数说明性能优化是该版本最重要的更新内容。性能优化的结果:极高并发性能:极高的并发写数据性能,比官方库或同类型日志库高1...
tklog :Rust灵活高效日志管理
donnie4w
8 月 8 日
阅读 4 分钟
673
tklog是rust高性能结构化日志库,支持同步日志,异步日志,支持自定义日志的输出格式,支持按时间,按文件大小分割日志文件,支持日志文件压缩备份,支持官方日志库标准API,支持mod独立参数设置
Rust的高效易用日志库—tklog
donnie4w
5 月 28 日
阅读 9 分钟
1.3k
很多人习惯于python,go等语言基础工具库的简单易用;在使用rust时,可能感觉比较麻烦,类似日志库这样的基础性工具库。tklog提供用法上,非常类似python等Logger的日志库用法,用法简洁;基于rust的高效性和一些优化策略,tklog的性能非常好,在压测中,可以达到 3-4 µs/op (微妙/次),这个效率比go最高的性能时候都...
tim实践系列——用户之间如何实现文件传输
donnie4w
4 月 25 日
阅读 4 分钟
330
通讯应用中,用户之间文件传输的实现方式有许多,通常会考虑P2P,减少服务器的负载并加速传输过程,但是P2P不是百分百能成功,内网穿透可能会失败;因此,一般也要考虑用服务器中转。本文主要讲服务器中转传输,基于IM实现的方式。通讯应用中用户间文件传输并非必须依赖IM实现,但IM的基础功能天然可以用于实现文件互传...
wfs 海量小文件存储系统
donnie4w
3 月 16 日
阅读 5 分钟
470
海量小文件存储在不同的硬件环境和系统架构下,都会带来一系列显著的问题。无论是采用传统的机械硬盘(HDD)还是现代的固态硬盘(SSD),这些问题都可能影响系统的性能、效率、扩展性和成本:
去中心化分布式即时通讯引擎tim v2.0.1 发布
donnie4w
1 月 22 日
阅读 3 分钟
466
Tim即时通讯引擎的去中心化分布式架构具有去中心化、分布式数据存储、支持大规模用户、即时通讯、安全性和隐私保护、高可用性和容错性以及可扩展性和灵活性等特点。能够有效地解决大规模分布式系统的设计和实现问题,并提高系统的性能、可用性和扩展性。
tim实践系列——分布式数据存储与动态数据库扩容
donnie4w
1 月 12 日
阅读 3 分钟
339
前言:tim是去中心化分布式即时通讯引擎。不依赖于任何中心服务器,采用去中心化分布式架构,解决传统中心化通讯方式的问题,去中心化分布式架构的通讯引擎的各个节点之间相互连接,形成一个庞大的分布式网络。可以轻松地扩展服务规模,支持更多的用户和业务需求,提供更加安全、可靠、高效的通讯服务。Github系列开源文...
webtim开源即时通讯平台第三版发布
donnie4w
1 月 12 日
阅读 2 分钟
367
webtim是依赖 tim即时通讯引擎 实现的web版通讯平台,具备以下功能与特点:信息安全性:信息加密加密机制,确保通信内容的安全性。用户资料安全性:用户账号无需被记录到服务器。用户资料被加密存储。确保用户信息的安全性。支持即时通讯:允许用户进行实时的信息交流和文件传输。离线消息存储:允许用户在离线状态下接...
tim实践系列——虚拟房间的作用和如何使用
donnie4w
2023-12-29
阅读 3 分钟
465
流数据传输是互联网应用中一个十分重要的基础功能。而流数据的支持是tim中最重要的基础功能之一,tim的流数据实现同样支持1:1,1:n,n:n等基础通讯模式,这些模式几乎涵盖所有流数据的应用场景。《TIM即时通讯引擎》订阅《tim实践系列》文章,了解如何使用tim
快速使用tim的简易demo
donnie4w
2023-12-29
阅读 3 分钟
358
tim是支持无数据库模式的,在无数据库模式下,任何账号登录都无需密码。tim也支持无配置启动。所以在tim下载页面 下载相应操作系统的的tim运行文件。直接运行启动即可:启动界面如下:
web开源直播通讯平台webtim
donnie4w
2023-12-26
阅读 2 分钟
484
webtim是Web通讯平台。服务器是 Tim。前端使用tim的js客户端 timjs 调用tim服务器接口渲染页面。webtim开发目的是通过界面来显示表达tim接口功能。tim是去中心化的分布式IM引擎。支持基础通讯模式,对端到端的数据流传输支持非常全面,几乎涵盖了所有端到端的通讯需求,所以webtim可以非常流畅的实现任意通讯需求。但tim...
tim实践系列——消息撤回,阅后即焚 等功能如何开发
donnie4w
2023-12-26
阅读 3 分钟
298
消息撤回与阅后即焚是tim的两个核心接口,tim的数据传输核心接口有 消息接口,消息撤回,阅后即焚,流数据接口,另外几个核心接口在《tim使用文档》有详细说明订阅《tim实践系列文章》随时查阅
tim实践系列——内置的好友关系和群组
donnie4w
2023-12-25
阅读 3 分钟
235
tim支持多种数据库 :TLDB,Mysql,PostgreSQL ,SQL Server,Oracle,Oceanbase等。其中,默认数据库是tldb。使用tldb时,tim会在tldb建立用户关系表,群组关系表等业务表来支持tim的核心通讯接口和非核心的用户关系接口。如果不使用tldb时,可以通过配置sql来读取核心接口的数据来支持核心接口,但是tim不支持配置sql...
tim实践系列——tim信息安全与账号系统
donnie4w
2023-12-17
阅读 2 分钟
229
信息安全是IM最重要的问题之一,tim将信息安全分为 用户资料信息安全与通讯数据信息安全,并对这两部分数据做了不同的处理,特别是用户资料安全方面,tim内置用户账户信息,用户登录后,tim会将用户登录账号换算为tim内置的账号进行数据传输,tim本身不会保留用户登录账号信息。以下是详细说明:来源《tim实践系列》
tim实践系列——tim如何限制一个账号多个终端登录
donnie4w
2023-12-16
阅读 2 分钟
471
部分im应用允许同一个账号同时多终端登录,如微信,QQ等应用,允许同账号在移动端与PC端同时登录。tim服务器支持通过配置,灵活设置并扩展该功能来源《tim实践系列》web版本在线
web版即时通讯项目 webtim
donnie4w
2023-12-16
阅读 2 分钟
929
webtim是使用tim的客户端timjs实现的web版本IM项目,主要是展示tim接口的功能webtim源码地址webtim在线访问地址webtim主要展示的功能有用户注册,登录,加好友,删除好友,发信,在线状态,建群,加入群,退群,踢出群,实时音视频 等;webtim项目会持续更新,把tim的接口功能充分展示。说明: webtim 视频电话功能webtim...
tim实践系列——消息特点与如何在实际业务中使用
donnie4w
2023-12-14
阅读 5 分钟
276
TimMessage是tim最主要的数据结构,所以它的功能比较复杂,也比较多,主要体现在TimMessage时可以被持久化的,并且可以通过发送者或接收者发起相应的指令进行删除,TimMessage包含多个属性字段,多种数据类型属性,可以传递不同类型的数据。在《tim实践系列——如何使用TimMessage自定义各种消息》中,详细介绍了TimMessag...
tim实践系列——用户如何实现 隐身,在线,忙碌,心情等状态
donnie4w
2023-12-13
阅读 3 分钟
415
tim通过TimPresence传递在线信息,该对象不会被持久化,只有在线用户可以收到。一般可以用于用户在线状态的传递,《tim实践系列——如何使用TimPresence自定义各种用户状态》 介绍了timPresence的各个属性作用,本文介绍一般用户状态使用TimPresence的示例来源《tim实践系列》
tim实践系列——如何使用TimPresence自定义各种用户状态
donnie4w
2023-12-12
阅读 2 分钟
195
使用timPrecence时,需要对timPresence进行赋值,一些字段不需要客户端赋值的,包括 id,offline,fromTid 这些字段是由服务器赋值发送到客户端,所以客户端对这些字段赋值是无效的。
tim实践系列——如何使用TimMessage自定义各种消息
donnie4w
2023-12-11
阅读 4 分钟
380
tim 定义了TimMessage,TimPresence,TimStream三种数据对象传递数据。其中支持持久化的对象为TimMessage,所以,一般用于用户之间的通信信息,系统信息,此外,TimMessage还支持部分tim的业务信息,如,加好友,入群的信息通知,与部分流数据传递。来源《tim实践系列》
tim实践系列——tim设计来源与设计模式
donnie4w
2023-12-10
阅读 2 分钟
425
前言: tim是一个完全去中心化的分布式系统。完全去中心化,是实现tim设计理念的一个较好的方案,使得tim的集群限制主要在操作系统层面,如系统能发出的连接数。所以tim的大规模集群可以支持百亿级别的在线用户量。海量数据的处理问题,也是tim去中心化解决的问题之一,以下分别介绍来源《tim实践系列》
tim实践系列——tim协议与其他格式协议的比较
donnie4w
2023-12-09
阅读 3 分钟
430
前言:tim是去中心化的分布式im引擎。 传输协议是tim能架设支持百亿级别在线用户量的重要因素,tim的协议在协议包体积与协议序列化反序列化方面,都有非常优秀的表现。来源《tim实践系列》
去中心化分布式即时通讯引擎 tim2.0.0
donnie4w
2023-12-07
阅读 3 分钟
551
tim2.0.0 是一个去中心化的分布式im引擎,分布式数据存储,零依赖,支持nat穿透,支持大规模集群,支持多种数据库,支持海量数据流分发。tim2.0.0是作者通过长时间实践并结合 xmpp设计理念开发的im引擎。
高性能日志库go-logger v2.0.3
donnie4w
2023-10-10
阅读 2 分钟
649
go的结构化日志库非常多,go-logger是比较早期开发的一个库, 以简洁为主要特征。simplelog是后期给数据库binlog日志开发的一个日志库,由于功能与go-logger有重合,就把两个库的代码就合并了。目前两个库代都会一起更新,实现是一致的。
高性能分布式数据库tldb v0.0.2 发布
donnie4w
2023-09-26
阅读 2 分钟
700
性能优化。这个版本主要针对客户端数据服务接口与序列化进行性能优化。tldb的客户端与服务器交互的接口使用了thrift,该版本将官方thrift库换成 gothrift,gothrift针对序列化和网络传输上做了优化,在反序列化上,有至少3倍性能的提升,在网络传输上也有大幅度的提高,这与接口参数相关. gothrift的相关介绍在《gothrif...
全新的分布式锁,功能简单且强大
donnie4w
2023-09-25
阅读 3 分钟
621
来源:《全新的分布式锁,功能简单且强大》前言:分布式锁是分布式系统中一个极为重要的工具。目前有多种分布式锁的设计方案,比如借助redis,mq,数据库,zookeeper等第三方服务系统来设计分布式锁。tldb提供的分布式锁,主要是要简化这个设计的过程,提供一个简洁可靠,类似使用程序中对象锁的方式来获取分布式锁。
gothrift 一 go版thrift性能优化项目
donnie4w
2023-09-23
阅读 3 分钟
1k
来源:《gothrift 一 go版thrift性能优化项目》thrift目前最新的版本是0.19.0调优之后项目 gothrift:[链接]这个项目不会做特别大的修改,只针对特别影响性能的地方做修改,影响小的不改,功能不改,其他更新争取与官方同步更新,gothrift使用方式与官方thrift一样,把库路径换成"github.com/donnie4w/gothrift/thrift" ...
thrift的网络传输性能和需要注意的问题
donnie4w
2023-09-06
阅读 5 分钟
1k
thrift实现了完整的网络服务,所以一般使用thrift时,会使用到thrift的服务框架。当然,也可以用自己已经实现的网络服务,用io流对接thrift接口的输入输出流实现thrift的接入。
如何快速构建可靠的分布式IM聊天系统
donnie4w
2023-09-05
阅读 6 分钟
863
来源:如何快速构建可靠的分布式IM聊天系统tlnetim 聊天项目是一个分布式 im demo,基于 tlnet http框架和 tldb数据库。tldb是一个高性能的分布式数据库,基于tldb可以快速构建分布式系统。tlnetim 的开源程序:[链接][链接]tlnetim主要的功能:多聊天室多人聊天系统,水平扩展多服务器部署构建分布式im.tlnet.top与im2....
java如何使用tldb MQ
donnie4w
2023-09-04
阅读 2 分钟
741
来源:java如何使用tldb MQtldb是高性能分布式数据库主要解决分布式服务问题与数据库集群问题基于 tldb,可以用最简洁最快的方式搭建分布式服务系统java mq客户端tlmq-j开源地址:[链接]MQ是构建分布式项目的一把利剑,tldb mq是一个高性能,易用,易维护,可靠的MQ服务tlmq-j 的 mavan依赖配置: {代码...} 使用说明:...
1
(current)
2
下一页
1
(current)
下一页