todis:一款性能卓越的持久化Redis服务器
项目介绍
在当前的互联网架构中,Redis因其出色的性能和便捷的操作而得到广泛应用。然而,面对海量数据的存储需求,传统的Redis服务器在性能和扩展性方面存在瓶颈。为此,Topling Inc. 开发了一款名为 todis 的持久化Redis服务器。todis不仅解决了大数据存储的问题,还在性能和可扩展性上做出了重大改进。
项目技术分析
todis的核心是分离计算和存储,使得弹性扩展成为可能。它基于RocksDB进行了深度定制,采用了ToplingDB作为存储引擎。ToplingDB是从RocksDB分支出来的,增加了许多新的特性和优化,包括SidePlugin、Engine WebView、分布式Compaction等。
todis的Redis层从pika项目分支而来,并对性能关键的代码进行了重写,增加了大量的监控指标,并支持了ToplingDB的SidePlugin和WebView。
项目及技术应用场景
todis适用于需要高性能、高可扩展性以及持久化存储的场景。以下是一些典型的应用场景:
- 大数据存储:面对海量数据的存储需求,如用户行为数据、日志数据等。
- 高并发缓存:为高并发应用提供数据缓存服务,如电商平台的商品信息缓存。
- 分布式系统:在分布式系统中,作为数据存储和缓存解决方案,支持自动扩展和监控。
项目特点
- 计算与存储分离:todis支持计算和存储的分离,使得系统可以根据需求弹性扩展。
- 自动扩展:无需手动分片或分区,系统可以自动进行扩展。
- 丰富的监控指标:提供多种监控指标,包括服务器端延迟直方图和数据长度直方图等。
- Web视图:通过Web视图可以方便地查看配置和服务器状态。
- 高性能读写:采用弹性分布式Compaction和内存压缩技术,实现了高读写性能。
性能亮点
- 写入性能:在2C16G的云服务器上,可以实现100MB/s以上的持续写入速度。
- 读取性能:通过内存压缩技术,读取性能可以饱和网络带宽。
- 同步延迟:同步延迟低至毫秒级,新跟随者(只读节点)可在10秒内启动并投入使用。
通过这些特点和优化,todis在性能、可扩展性和监控方面提供了全面的解决方案,非常适合作为大数据和分布式系统的存储和缓存服务。对于寻求高性能持久化Redis服务器的用户,todis无疑是一个值得尝试的选择。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考