今天是年二十九,上班最后一天了。最近一直在忙于dfs的升级和扩展工作,到今天终于告了一个段落。今天开始,我将抽出一定的空余时间写一个locker server。locker server也将和师傅的dfs一样开源,并且遵循“Public License V3”开源协议。
先来说说locker server是一个什么东东?其实从名字上就已经可以看出来了,locker server是一个提供锁的服务器。有很多人肯定会有疑问,锁?我不是直接使用class lib提供的锁机制就可以了吗?干嘛要单独写一个?其实不然,直接使用class lib提供的锁只能锁同进程中的不同线程同步时的状态,也就是说是线程级别的锁,如果你的站点非常的大,一台业务服务器已经无法满足你的需求,这个时候你就要使用到进程级别的锁,那么locker server将会派上用场。说了那么多,总结一下,locker server其实就是一个提供了进程级别的分布式锁服务器。
再来说说实现,locker server的实现有两部分,遵循的是c/s的风格。通讯使用socket,server端使用全c开发,目前只准备支持linux系统(windows系统再说),客户端支持多种开发语言,关于通讯协议,我会在开放源代码时一并公布,这样可以方便客户端的移植。因为locker server的特殊性,所以协议部分无法遵循memcached的事实标准,只有另外起一套协议。
locker server的性能方面,按照网站的一般流量,暂时先准备支持最多每秒1k的并发用户,内存消耗暂时先封闭起来,使用默认值,以后可以考虑在config文件中配置。并且可以根据自己的实际情况,配置对象内存块大小(为了提高性能,所有的对象都是拥有同样的内存块大小。)。
locker server的适用人群是一群中大型站点或者分布式系统的开发人员或者设计人员。如果你的站点部署类似于下图所示,那么我建议你考虑使用locker server或者相关的服务替代。
附图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述