今天是年二十九,上班最后一天了。最近一直在忙于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. 【hexo】搭建个人bolg日志 day1
  2. Python从入门到精通 - 入门篇 (上)
  3. 从零开始学习jQuery (六) AJAX快餐【转】
  4. 1-VMware workstation认识
  5. c 创建mysql实体模型_EntityFrameworkCore 根据实体类自动创建数据库
  6. 如何将OpenCV中的Mat类绑定为OpenGL中的纹理
  7. 计算机硬件技术 教案,教案07-计算机硬件技术基础.doc
  8. wxWidgets:编写非英语应用程序
  9. Redis之CentOS7安装配置Redis
  10. Mongodb 笔记04 特殊索引和集合、聚合、应用程序设计
  11. azure机器学习_Microsoft Azure机器学习x Udacity —第4课笔记
  12. Java JDBC篇3——JDBC事务
  13. 搭建远程jupyter服务器并从本地连接,有浏览器的地方就有Python!
  14. heidisql连接远程数据库_远程连接数据库异常问题
  15. (转载addone)完全使用Linux作为桌面系统 —— 使用Linux两年记 --软件列表
  16. SpringBoot 系列教程(九十一):SpringBoot+Redis生成图片验证码并校验
  17. ArcGIS数据生产与精细化制图之中国年降水量分布图的制作
  18. Devops知识技能树(译)
  19. 高德地图插件的简单使用
  20. Excel计算BOM物料数量的公式

热门文章

  1. 团队冲刺阶段一第四次站立会议
  2. java计算时间差 Java问题通用解决代码
  3. 【转】GPS误差来源
  4. Facebook:苹果谷歌支持HTML5会死啊
  5. phpMyAdmin开发人员访谈——4个人支持整个项目
  6. 基于MFC的socket编程(异步非阻塞通信)
  7. socket与文件描述符
  8. IOS开发基础之画板案例软件的开发
  9. linux追加内核参数,Linux设置内核参数的方法
  10. wordpressQQ登陆php代码_WordPress实现前台登录功能