微软研究院最新推出了一款名为Garnet的高性能远程缓存存储系统,它不仅具备卓越的性能(吞吐量和延迟)、可扩展性、存储能力,还融入了故障恢复、集群分片、键迁移及复制等多项强大功能。更值得一提的是,Garnet能够与现有的Redis客户端无缝配合工作,为您的应用提供无缝的缓存存储体验。
官网:https://microsoft.github.io/garnet/
GitHub:https://github.com/microsoft/garnet
🌟 Garnet的独特优势 🌟
Garnet采用了广泛应用的RESP网络协议,这使得现有的Redis客户端无需任何修改即可接入Garnet。无论是C#的StackExchange.Redis,还是其他编程语言环境中的Redis客户端,都能轻松与Garnet融合,为开发者带来极大的便利。
与同类开源缓存存储系统相比,Garnet在面对大量客户端连接和小批量操作时,表现出更为出色的吞吐量和可扩展性。这一特性使得Garnet能够为大型应用程序和服务带来显著的成本节省,助力业务高效运转。
🚀 极致性能与跨平台特性 🚀
在标准云服务(如Azure)VM上启用加速TCP功能后,Garnet实现了令人惊叹的极低客户端延迟,99.9%分位点处的延迟常常低于300微秒。这样的性能表现对于真实场景下的应用至关重要,能够确保您的业务运行流畅无阻。
基于最新的.NET技术,Garnet具备跨平台、可扩展和现代化特性。它的设计目标是在保持易用性和可演进性的同时,不牺牲任何性能表现。利用.NET丰富的库生态系统,Garnet不仅拓展了API功能,还保留了优化空间,为您的应用提供强大的支持。
🔧 丰富的API与便捷的事务处理 🔧
Garnet实现了一系列广泛的API,包括原始字符串操作、分析型操作以及对象操作等。同时,它还支持客户端RESP事务形式的多键事务处理,以及基于C#编写的服务器端存储过程。这些功能使得用户能够在C#环境下对原始字符串和新建对象类型定义自定义操作,降低了开发定制扩展的门槛。
🔒 安全与可扩展的网络层 🔒
Garnet配备了一个快速且可插拔的网络层,为未来扩展提供了坚实的基础。利用内核旁路栈技术,Garnet能够进一步提升性能。同时,它采用.NET的稳健SslStream库实现安全的传输层安全(TLS)通信,并支持基本的访问控制,确保您的数据安全无忧。
📦 强大的存储层与集群支持 📦
Garnet的存储层——Tsavorite,源自微软研究院先前的开源项目FASTER。它集成了强大的数据库特性,如线程可扩展性、分级存储支持、快速无阻塞检查点、故障恢复、操作日志持久化等。此外,Garnet还支持集群模式运行,包括分片、复制和动态键迁移等功能,为您的应用提供强大的存储支持。
0条评论