应用框架Gearman

gearman,学习好莱坞大片的翻译方式暂且翻译成“齿轮侠”。是一个“标准的应用程序框架”,它提供了一些列的语言接口,实现了简单方便的跨主机调用、任务分配和伪队列服务。说了这么多,其实我个人的理解就是提供了一套trigger接口,允许一台主机通过业务码执行另一台主机上定义好的任务,而gearman则负责一系列的任务分配和管理。

不同于习惯上的server/client端的称呼,Gearman的角色是server/worker/client。Server正式gearman本身,worker故名思义就是“干活的机器“,client则是发送任务的机器。——貌似Agent/worker/boss更加形象 🙂

继续阅读“应用框架Gearman”

推荐阅读:
似乎每次开头都要讲述一下计算机
5月中旬,我参加了在加利福尼亚
长久以来,我们对计算机资源的理

那些年,我们在架构上踩过的坑

一直专注于架构,特别是LAMP架构的设计很多年。作为PHP这个让人又爱又恨的语言,如果做好一个架构始终是一个值得长期探讨的问题。经常有人让我分享一个所谓成功的架构,可事实上,由于CAP原则以及各种各样的应用场景差异的存在,真正意义上不存在“一招鲜吃遍天”的架构,所有的架构都是在不断的被否定中诞生的,何况我不相信存在所谓的成功学。

我始终认为:分享一些踩过的坑远比分享成功经验来的有效。这次就联合本站中的部分内容,增加本人之前碰到过的种种问题,一并呈现给您!

继续阅读“那些年,我们在架构上踩过的坑”

推荐阅读:
自打从硬件方向研究性能优化起,
之前我们通过几个概念简单的介绍

xhprof的安装和使用

PHP在做code review或者性能调优的时候,经常会碰到无法判断是哪个函数出了性能问题。PHP特有的“集中”或者说“分散”式写法极端的时候会让一个函数都分割在多个文件中。这就给原本就很麻烦的任务增加了更大的难度。就我个人的习惯,我还是觉得这种东西应该交由机器来分析。相比Java来说,PHP这类的工具确实稀缺,xhprof就是这么一个东西,尽管相比Java/.net之类的工具粗糙很多,但相信大多数情况都够用了。

环境还是那一套:apt默认安装的Ubuntu+php5(vs php5-pecl, php5-dev)+apache2 不过由于是PHP的扩展而以,同样适用于Php5-fpm + nginx的组合。

继续阅读“xhprof的安装和使用”

推荐阅读:
gearman,学习好莱坞大片
一直专注于架构,特别是LAMP
Xdebug是一个很方便的PH

Eclipse的本地PHP xdebug环境

Xdebug是一个很方便的PHP调试工具,它通过一系列的统计分析,可以简单明了的对PHP的各种调用进行记录和统计,方便开发者进行代码调试和性能调试。这次就将Xdebug和Eclipse的整合配置分享出来。

继续阅读“Eclipse的本地PHP xdebug环境”

推荐阅读:
一直用ubuntu作为自己的开
正如之前说的,很多情况下我们需
SVN虽说已经老了,可能逐步要

Python中的对象复制

这次算不上什么技巧分享,只是在碰到了一个bug之后整理的东西,希望各位在看过之后不会在犯同样的错误。

首先,还是用同为解释型语言的PHP开刀:
继续阅读“Python中的对象复制”

推荐阅读:
深入读了读python的官方文
正值毕业季,这些天一直忙于面试
尽管现在有了wheel这类更为

“持久化线程”带来的问题

本文针对于从PHP之类的“准脚本语言”过渡到非脚本语言的用户,其他用户可以绕过。

作为站长Litrin来说,最初的开发都是基于PHP语言的。PHP语言的很多特性已经根深蒂固,由于最近一直在研究Python和Java的某些源码,也写了几个东西,在这个过程中发现了自己代码质量中的不足,特地整理了一下,跟各位分享。

继续阅读““持久化线程”带来的问题”

推荐阅读:
gearman,学习好莱坞大片
一直专注于架构,特别是LAMP
PHP在做code revie

与某大牛的对话

前些日子,碰到了我之前的同事,在他的安排下,我与他的一个同事一起喝茶聊天,谈了几个关于架构的话题。由于是从闲谈开始,没有太多的准备,只能根据记忆整理了一下,可能会有部分理解上的差异吧,分享给大家!

继续阅读“与某大牛的对话”

推荐阅读:
gearman,学习好莱坞大片
一直专注于架构,特别是LAMP
PHP在做code revie

mod_php迁移到php-fpm的注意事项

Php-fpm由于其特有的优势已经逐渐成为这一阶段大负载网站的首选。近期受朋友之托,将一个稍显老旧的网站从apache+mod_php迁移到了nginx+php-fpm之上。其间碰到不少问题,除却php版本升级带来的兼容性问题之外,很多兼容性问题其实来自于php-fpm的特性。这里就简单的罗列一下所碰到的问题,以供大家参考,少走弯路为妙。

继续阅读“mod_php迁移到php-fpm的注意事项”

推荐阅读:
评价一个网站的“大小”,处于视
碰到这样一种情况:在使用新浪微
种种原因,站长已经很久没有关注

PHP的普青、文青和2B青

之前看过一篇东西,大致上说:之所以PHP这么流行,主要是因为PHP太“下贱”。门槛太低,什么样的写法都有。这些年接触下来,也颇有共鸣。正巧赶上最近网上很流行“普青、文青、2B青”的恶搞,抱着“回字到底有几种写法”的态度,对同样的问题进行各种风格的编码,为了更多的体现算法,我剔除了注释。只为搏大家一笑,希望大家也不要拓展开来了。

题目:1只羊第二年后开始繁殖,每年一胎,每胎一只,直到第5年死亡,列出前十年的羊的数量。

继续阅读“PHP的普青、文青和2B青”

推荐阅读:
“产业升级”这个词汇最近几年经
若干年前,老妈总会一次性买很多
似乎还是在眼前的事儿一般,不知

posix的特性——fork

记得之前曾经在一段Python中介绍过python的mulitprocess模块在windows的不兼容。其中提及了linux/Unix特有的fork方式,而windows无法实现导致的死循环。当时只是提到了一下,重点不同的关系,没有深究。

fork,顾名思义就是一把叉子,或者专业一点叫做复制叉。作为sys/type.h的一个函数,系统在每次调用fork()之后,将会以此为分叉,对进程本身进行复制,新的进程和旧进程有近乎完全一致的cpu时间和内存寄存器。

继续阅读“posix的特性——fork”

推荐阅读:
首先是庆祝我们开源小站再次搬家
一开始学习Linux时,曾经有
我个人觉得这并不是一个很困扰人