51CTO综合报道网站开发黄金组合LAMP(Linux+Apache+MySQL+PHP)已经流行了好几年。即LAMP之后,PHP社区最近开始推广起GLAMMP组合。这个组合在LAMP之上又加进来一个G和一个M。这新加进来的两个字母各是什么意思呢?
G——Gearman
Gearman是BradFitzpatrick的一个作品,用Perl写的任务调度程序,提供一个服务器端和多种语言的客户端接口,包括C/Perl/Python/Ruby等。
gearman可以用在各个方面,最简单就是在不同语言之间架起一座桥梁。比如你可能希望你的php程序调用一个c函数,那么用gearman就可以实现了,当然了实际你可以通过写一个php扩展来实现同样的工作,但是比如你要php调用java,perl,或者python那么,gearman就非常棒了。
gearman另一个应用方面是负载分担,你可以将worker放在不同的服务器(或者一些列服务器)上,比如你的php程序需要图片转换,但是不希望本地服务器有太多的这样图片转换的进程,那么你可以建立一系列服务器,在上面加载worker处理图片转换。这样你的web服务器将不受图片转换的影响,同时你得到了负载均衡的功能,因为jobserver会在请求到来的时候,将这个请求发给空闲的worker.同样对于多核的服务器,你可以在同一机器上创建同样数目的worker.你可能担心,jobserver处于一个中心,那么这会是一个单点的瓶颈,如果死了,会怎么样?对于这样的情况,你可以运行多个jobserver。这样如果一个jobserver down了,client和worker会自动迁移到另一台jobserver上。
M——Memcached
memcached是由DangaInteractive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。
PHP社区的看法是,LAMP组合已经越来越不能满足很多网站的需要,其他工具的介入是必然趋势。数据库方面,号称memcached杀手应用的Drizzle有可能会替代MySQL。在MySQL被Sun收购的那一年,人们关心MySQL是否将会继续让LAMP架构发扬光大;而在Sun又被甲骨文收购,MySQL创始人宣布创建开源数据库联盟,MySQL即将四分五裂之际,Drizzle是否能够做为MySQL的延伸,令GLAMMP发扬光大下去呢?
不过我也许说错了,这样的话,GLAMMP大概应该改名叫做GLAMPD才是