今天是年二十九,上班最后一天了。最近一直在忙于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或者相关的服务替代。

附图:

转载于:https://www.cnblogs.com/Seapeak/archive/2010/02/12/1667810.html

locker server启动相关推荐

  1. Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析

    原文地址: http://blog.csdn.net/luoshengyang/article/details/6629298 在前面一篇文章浅谈Android系统进程间通信(IPC)机制Binder ...

  2. 图解Android - Zygote, System Server 启动分析

    Init 是所有Linux程序的起点,而Zygote于Android,正如它的英文意思,是所有java程序的'孵化池'(玩过星际虫族的兄弟都晓得的).用ps 输出可以看到 >adb shell ...

  3. [ci]jenkins server启动,通过jnlp的方式启动slave(容器模式)

    jenkins server启动,通过jnlp的方式启动slave. java -jar jenkins.jar 配置jnlp端口--全局安全 配置云 配置项目 执行成功 转载于:https://ww ...

  4. Eureka Server启动源码分析

    本文来分析下Eureka Server启动源码 文章目录 概述 源码解析 服务同步 服务剔除 start包配置 启动源码分析 EurekaServerAutoConfiguration EurekaS ...

  5. SQL数据库引擎服务SQL Server启动参数概述

    In the SQL world, it is an important activity to perform SQL Server installation for a database admi ...

  6. sql server启动服务和还原bak文件

    sql server启动服务和还原bak文件, sql server启动要: mysql数据库备份是psc后缀文件, sql server还原数据库备份bak文件: 三张图简介明了: ok: 转载于: ...

  7. Neutron的Web Server启动过程中的关键参数

    Web server启动过程的关键代码如下几句: self.pool = eventlet.GreenPool(1) self._server = self._service.pool.spawn(s ...

  8. RocketMQ的name server启动源码总结

    RocketMQ版本:3.5.8 我觉得这段时间查看RocketMq的源码的分析越来越不到位了,可是那又能怎么样,花了不少时间源码调了几遍,虽然心里明白了点,还是描述不出来,可是毕竟花时间了总要落地点 ...

  9. 0713-6.2.0-HBase的Thrift Server启动问题

    Fayson的github: https://github.com/fayson/cdhproject 推荐关注微信公众号:"Hadoop实操",ID:gh_c4c535955d0 ...

最新文章

  1. 官方 React 快速上手脚手架 create-react-app
  2. DirectFB实例1--加载一幅图片
  3. python创建一个新的txt文件-如何在python中编辑文本文件并创建一个新的文本文件?...
  4. CentOS7 使用firewald
  5. python 公网ip_使用Python更换外网IP的方法
  6. 黑客攻防技术宝典Web实战篇第2版—第11章 攻击应用程序逻辑
  7. C语言课后习题(49)
  8. delphi 登录界面 主窗体 切换_Python GUI项目实战(二)主窗体的界面设计与实现
  9. tomcat上的javaweb项目如何将ip地址更换为域名_Java Web 路线规划
  10. Linux头文件引用小技巧
  11. IS-IS邻接关系建立过程
  12. Bootstarp daterangepicker 日期控件
  13. 【带着问题学PMP】【4.1】制定项目章程
  14. 软路由防火墙IPcop的安装,配置
  15. JAVA如何通过身份证号码计算年龄、生日、性别
  16. 虚拟汽车加油问题 (贪心算法)
  17. windows环境下远程操作Linux的工具-Xshell WinSCP
  18. 有个空间,名叫 Gamma
  19. SpringCloud之服务提供者和服务消费者
  20. Arduino开发板DIY简易机械臂

热门文章

  1. Qt-在控件上绘图的方式
  2. c++:json字符串拼接,json对象组装
  3. SwiftUI3.0用户登录输入非空校验经典案例
  4. win7自带tftp服务器,Win7系统怎么开启tftp服务器?Win7开启tftp服务器操作方法
  5. java中IOUtil.readLong_使用io/ioutil进行读写文件
  6. 报头中的偏移量作用_C语言中函数的实现
  7. APP长期处于后台手机打开多个APP后进程被杀
  8. 读入一段文本到 vector 对象,每个单词存储为 vector 中的一个元素。把 vector 对象中每个单词转化为大写字母。输出 vector 对象中转化后的元素,每八个单词为一行输出。
  9. python数组随机打乱_对Python random模块打乱数组顺序的实例讲解
  10. 涨跌因子计算器下载哪里下载_小白计算器软件下载-小白计算器app下载 v1.0 安卓版...