What is going on

名词解释 PHP vs HHVM: PHP指的是php.net(Zend)实现的PHP,而HHVM指的是Facebook开源的PHP实现。 PHP-FPM: (PHP Fastcgi Process Manager) 一个PHP Sapi实现,目前的主流的Web应用使用的方式。基于多进程的模型 HHVM: AdminServer 这是HHVM中为了更好的运维和定位问题实现的一个HTTP操作接口,可以实时的获取和操作HHVM内部状态, 这对于我们是一个非常便利的接口,比如可以打印出内部的队列长度(fpm中也有类似接口,不过灵活性差很多) 多线程下fork()/exec()出现的性能问题 贴吧目前使用的HHVM来运行PHP程序,HHVM采用的是多线程模型, 以前我们使用的是PHP-FPM,PHP-FPM采用的是多进程的模型。 我们通过一个我们上线遇到的问题来看看Linux的写时复制和多线程相关的问题。 上周我们迁移一个服务HHVM运行环境时发现上线后CPU占用飚的非常高…

最近在重构公司的一个交互中间件,在重新设计API及总体架构的时候思考了许多, ,那么什么样的API才算是一个设计良好的API呢? 参考了许多的资料,做一下总结。主要来自这个keynote 什么是API 我们只要是在进行编程我们就需要不停的设计API, API简单来讲可以是一个调用的函数,一个接口。抽象来说:接口是一个内聚系统暴漏给外部的一切信息。 包含但不限于: 调用方式:比如通过lib库或者http接口等 调用约定:比如lib的函数签名或者HTTP的参数,http method或者头信息,长短链接等等。 依赖关系:比如接口的调用需要涉及到第三方或者其他的准备工作等等。 设计良好API的特点 这里探讨的API均为系统边界的API设计,而对于内部API来说不在探讨范围之内。 变动困难 API就像一个人一样,我们和一个API打交道的时候需要了解这个人的特性偏好等, 有的人很好相处,而有的人让人很头疼,尤其是你不得不和他打交道的时候。 和人一样,如果你不得不和他打交道,要改变他的秉性是很痛苦的,人的…

2013 结束了,迎来了新的一年。年复一年,我们在前行,虽然匆忙,也是时候停下来想一想了,回顾一下过去的一年都有哪些收获,规划一下来年。 2013年回顾: 找了一下去年的总结,发现被自己删掉了,因为不完整。原来计划2013年完成TiPHP的实现。这个计划没有做完。学习@胖胖,不找借口,是没有足够的时间。 这一年: 生活 情感上终于跟随自己的内心做自己了,年末的三个月是我所经历过最完美的时光。 运动上,坚持了半年多每周的羽毛球,还有跑步,身体没有以前好,不过后面3个多月运动的少了。 工作 代码量不足,相对以前代码的编写量不足,14年会努力提高代码量和代码质量。 收获 私有云平台的设计实现,对在线业务的运维和支持体系有了新的理解…