解决锁抢占问题--随机式获取抢占锁

背景

我们原本的调度系统是由quartz为基准DIY的系统,但因为quartz的很多问题,特别是可扩展设计是在太差、自定义功能太麻烦,我们不得不自行设计了一个调度系统,内部称为:probactr。probactr分为下面几个节点:

  • monitor:监视器,主要负责监视Executor的状态和Executor执行的job状态,如发现Executor出现down机或者job出现问题,会对其进行清理。此节点为可平行扩展集群;
  • Executor:运行器,主要负责从数据库中获取欲执行的job,然后执行job。此节点为可平行扩展集群;
  • LockerServer:分布式锁服务器,为probactr提供一致性功能。目前使用redis替代,有计划将其替换成我们自主研发的lax605;
  • ManagerSite:后台管理系统,可以在这里对job进行添加、删除、暂停等等的管理,也可以查看job的执行状态;
  • database:数据库,所有的job数据全部存入数据库;

PHP"伪司机"调试PHP CORE

这次不是装逼,是真的帮忙找问题。对于php,一脸懵逼啊!因为就从来没写过,根本不懂php!

为什么这样设计Chaos

随着上一篇介绍Chaos的文章推送,最近有好几家公司或者项目负责人联系我,准备在生产环境中使用Chaos,所以也会经常被问到一些问题。这里我总结了一下经常会被问到的几个问题,给大家做一个统一的回答吧!

gdb线上crash调试-记一次装逼失败的教训

可惜这是一次完完全全的装逼不成反被X的典型例子。

如何更好的做一堂技术topic分享的套路

很荣幸的被csdn选中担任sdcc2017深圳架构场的出品人。更荣幸的是,我推荐团队一个小伙伴的技术topic也被选中,将在sdcc20017深圳场和大家分享。但这位小伙伴是第一次作为讲师参加技术topic这样的活动,所以培训小伙伴的事情就成了当务之急。作为一个经常出入技术topic、已经无所谓脸皮不脸皮的过来人,对做一堂还算相对“和谐与靠谱”的技术topic到底有多少的套路呢?

总的来说, 一堂技术topic的套路分为几个部分:

  1. PPT
  2. 前期准备
  3. 分享中
  4. 结束

SDCC2017 深圳架构场前瞻

首先很荣幸的被csdn邀请为sdcc2017深圳架构场的出品人参与此次topic。作为出品人,在演讲嘉宾的筛选上就已经动了脑筋。此次sdcc2017,演讲嘉宾的阵容是非常强大的,既有腾讯、阿里、百度传统3强的分享,又有唯品会、阅文集团、sina微博等公司的强势加入。各位演讲嘉宾也都是业界的“老司机”,不管是从技术还是演讲本身来说,都是“老”的可以啊!所以sdcc2017深圳架构场的技术topic水平当然不会低,是绝对值得期待的。

Chaos-ID生成器的前世今生

从mongodb的objectid到twitter的snowflake,目前国内的几个互联网大厂也开始重视到了分布式系统中数据id,甚至一些大厂已经公开了它们关于id生成器的设计和实现。我们当然也注意到了分布式系统中id的重要性,并且在系统开始开发的时候就设计并且实现了一个id生成器,我们称之为:Chaos。Chaos目前已经在我们内部运行了2年之久,在这2年内故障率为惊人0,可靠性达到不可思议的100%。那么我们为什么要设计Chaos呢?Chaos又和别人家的id生成器有什么不同呢?这些问题,首先得从我们以往的经验开始。

libev 中文手册

本文是libev英文版使用手册的中文翻译版。
大概在2年前,在我第一次使用libev的时候,我发现关于libev的中文手册和中文使用说明很少,所以我就试着给作者发mail,希望作者能授权给我翻译中文手册的资格,但是至今未收到回音。所以我想做几点声明,如下:

  1. 此文的原始版权归原作者(libev的e文作者),而本文的任何权利都和e文文档的权利相同,包括开源协议;
  2. 本人不享有授权任何人分发(包括但不仅限于印刷、出版等)此文档的权利;
  3. 需要出版此文档必须经过原e文文档的同意;

我认为更好的管理github pages blog

使用jekyll也有好几年了,说实话其实jekyll + markdown的方式真的没有cnblogs等这种专门的平台来的方便。至少纯粹从写blog的角度出发,在目前的互联网用户体验大环境下,冷静思考这种方式,真的挺差。

jekyll图片管理插件

使用jekyll搭建github的pages服务已经很多年了,虽然写的blog不是特别多,但在使用的过程中难免还是遇到了很多的问题。在所有这些问题中,几乎所有的问题都被解决了。但有且只有一个问题几乎无解:图片管理。使用jekyll的程序员几乎都搭配markdown,但是markdown对于图片的管理,简直就是可以用一坨屎来形容。