<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[张宴的博客]]></title> 
<link>http://zyan.cc/index.php</link> 
<description><![CDATA[Web系统架构与底层研发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[张宴的博客]]></copyright>
<item>
<link>http://zyan.cc/dips/</link>
<title><![CDATA[利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>张宴 &lt;net@s135.com&gt;</author>
<category><![CDATA[其他Unix技术]]></category>
<pubDate>Sun, 01 Nov 2009 01:24:10 +0000</pubDate> 
<guid>http://zyan.cc/dips/</guid> 
<description>
<![CDATA[ 
	　　[文章作者：张宴 本文版本：v1.0 最后修改：2009.11.01 转载请注明原文链接：<a href="http://blog.zyan.cc/dips/" target="_blank">http://blog.zyan.cc/dips/</a>]<br/><br/>　　2009年10月28日，在金山逍遥技术支持部内部分享会上，介绍了Gearman分布式计算框架与金山逍遥DIPS分布式图片处理平台，以下是PPT图片：<br/><br/>　　<a href="http://blog.zyan.cc/attachment/200910/dips/jpg/dips1.jpg" target="_blank"><img src="http://blog.zyan.cc/attachment/200910/dips/jpg/dips1.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>　　<a href="http://blog.zyan.cc/attachment/200910/dips/jpg/dips2.jpg" target="_blank"><img src="http://blog.zyan.cc/attachment/200910/dips/jpg/dips2.jpg" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>............<br/><br/>Tags - <a href="http://zyan.cc/tags/dips/" rel="tag">dips</a> , <a href="http://zyan.cc/tags/%25E5%2588%2586%25E5%25B8%2583%25E5%25BC%258F%25E8%25AE%25A1%25E7%25AE%2597/" rel="tag">分布式计算</a> , <a href="http://zyan.cc/tags/%25E5%2588%2586%25E5%25B8%2583%25E5%25BC%258F%25E5%259B%25BE%25E7%2589%2587%25E5%25A4%2584%25E7%2590%2586/" rel="tag">分布式图片处理</a> , <a href="http://zyan.cc/tags/gearman/" rel="tag">gearman</a>
]]>
</description>
</item><item>
<link>http://zyan.cc/dips/#blogcomment4328</link>
<title><![CDATA[[评论] 利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>eric_zhyd &lt;eric.zhyd@gamil.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sun, 01 Nov 2009 03:46:54 +0000</pubDate> 
<guid>http://zyan.cc/dips/#blogcomment4328</guid> 
<description>
<![CDATA[ 
	不错，学习了。认真研究一下才行。<br/><br/>不过为什么在系统负载对比处的对比指标不一样呢？
]]>
</description>
</item><item>
<link>http://zyan.cc/dips/#blogcomment4330</link>
<title><![CDATA[[评论] 利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>unixhater &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sun, 01 Nov 2009 09:13:24 +0000</pubDate> 
<guid>http://zyan.cc/dips/#blogcomment4330</guid> 
<description>
<![CDATA[ 
	学习这种 调度 的思想
]]>
</description>
</item><item>
<link>http://zyan.cc/dips/#blogcomment4331</link>
<title><![CDATA[[评论] 利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>cache &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sun, 01 Nov 2009 09:32:29 +0000</pubDate> 
<guid>http://zyan.cc/dips/#blogcomment4331</guid> 
<description>
<![CDATA[ 
	实时的图片处理采用这种方式挺好的，但密保卡个人认为大可以采用离线生成的方式，每个服务器，采用共享内存的方式，两个进程，一个进程生产，一个进程负责提供图片拉去服务， 出于容灾考虑，最终只需要2台服务器就足够了。
]]>
</description>
</item><item>
<link>http://zyan.cc/dips/#blogcomment4333</link>
<title><![CDATA[[评论] 利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>有颜色的猫 &lt;wuweixin@gmail.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Mon, 02 Nov 2009 00:01:16 +0000</pubDate> 
<guid>http://zyan.cc/dips/#blogcomment4333</guid> 
<description>
<![CDATA[ 
	好文章！还可以考虑把处理图片任务的fastcgi脚本部署到其他机器，这样前端的性能也可以达到极大的分担，拓扑结构也能更简单一些。
]]>
</description>
</item><item>
<link>http://zyan.cc/dips/#blogcomment4334</link>
<title><![CDATA[[评论] 利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>kk &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Mon, 02 Nov 2009 02:56:28 +0000</pubDate> 
<guid>http://zyan.cc/dips/#blogcomment4334</guid> 
<description>
<![CDATA[ 
	1 图片服务也可以利用ImageMagick和jmagick做成http接口的图片转换服务，nginx做比较灵活的负载分担<br/>2 使用gearman需要考虑下系统的安全性问题<br/><br/>&lt;kangglmail@163.com&gt;
]]>
</description>
</item><item>
<link>http://zyan.cc/dips/#blogcomment4337</link>
<title><![CDATA[[评论] 利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>int3 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Mon, 02 Nov 2009 16:58:35 +0000</pubDate> 
<guid>http://zyan.cc/dips/#blogcomment4337</guid> 
<description>
<![CDATA[ 
	安全性？<br/>你觉得目前使用gearman有会带来哪些安全隐患呢？
]]>
</description>
</item><item>
<link>http://zyan.cc/dips/#blogcomment4346</link>
<title><![CDATA[[评论] 利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>dodge &lt;dodgepudding@gmail.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Wed, 04 Nov 2009 03:50:51 +0000</pubDate> 
<guid>http://zyan.cc/dips/#blogcomment4346</guid> 
<description>
<![CDATA[ 
	不错，可以借鉴下做一个视频的分布式处理。
]]>
</description>
</item><item>
<link>http://zyan.cc/dips/#blogcomment4352</link>
<title><![CDATA[[评论] 利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>虫zi &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 05 Nov 2009 06:39:36 +0000</pubDate> 
<guid>http://zyan.cc/dips/#blogcomment4352</guid> 
<description>
<![CDATA[ 
	弱弱的问一句，使用 gearman -d 启动守护进程后。怎么把这个进程关掉？使用 gearman -h 貌似没有找到。。。谢谢。
]]>
</description>
</item><item>
<link>http://zyan.cc/dips/#blogcomment4353</link>
<title><![CDATA[[评论] 利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>虫zi &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 05 Nov 2009 06:42:20 +0000</pubDate> 
<guid>http://zyan.cc/dips/#blogcomment4353</guid> 
<description>
<![CDATA[ 
	可不可以理解为gearman，你使用这个，是为了让多个服务器去做同一件事。具体由哪个服务器来做，由job选择的worker决定。这样可以 使CPU比较闲的机器来做这些事情。不知道我理解的是否正确。。
]]>
</description>
</item><item>
<link>http://zyan.cc/dips/#blogcomment4354</link>
<title><![CDATA[[评论] 利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>遗失的森林 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 05 Nov 2009 14:13:47 +0000</pubDate> 
<guid>http://zyan.cc/dips/#blogcomment4354</guid> 
<description>
<![CDATA[ 
	个人觉得gearman在DIPS的架构中的作用不明显，DIPS相对于以前的架构做了如下变动：<br/>1、将生成图片的操作转移到了专用的29台图片处理服务器上，故新架构webserver负载大大降低<br/>2、gearman只是起到了类似LVS的功能，并未体现出其他作用。<br/><br/>替换gearman只需类似如下代码就可实现：<br/>//图片处理服务器列表<br/>$imageHandlerServers = array(<br/>&nbsp;&nbsp;&nbsp;&nbsp;array(&#039;ip&#039; =&gt; &#039;&#039;, &#039;port&#039; =&gt; 9527),<br/>&nbsp;&nbsp;&nbsp;&nbsp;... * n<br/>);<br/>//取随机数<br/>$randomServerId = random(1, count($imageHandlerServers));<br/>$imageHandlerServer = $imageHandlerServers[$randomServerId];<br/>//生成图片<br/>$image = genImage($imageHandlerServer, $data);
]]>
</description>
</item><item>
<link>http://zyan.cc/dips/#blogcomment4355</link>
<title><![CDATA[[评论] 利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>遗失的森林 &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Fri, 06 Nov 2009 01:19:41 +0000</pubDate> 
<guid>http://zyan.cc/dips/#blogcomment4355</guid> 
<description>
<![CDATA[ 
	1、数组+随机数肯定是不能做负载均衡，但这个架构中worker的工作相对固定（只是生成图片），无过于复杂的业务逻辑处理（可导致负载增加的不确定因素），故绝大部分时间worker负载平稳，从结果上来看可做到负载均衡。<br/>2、按照DIPS中的程序，我不清楚$image=$dips.do(***)，这段代码返回的是图片对象还是图片地址，如果是图片对象，那么是否流量会堆积在job server上？<br/>3、如果某台worker有问题，用数组+随机数方式可改进一下，如果执行失败，可再尝试另一台worker，可在一定程度上实现故障转移。<br/><br/>另外，对于job server，如果访问量巨大，job server是否会成为瓶颈？由于我没有研究过gearman底层负载均衡的方式，这个请博主解答一下~<br/><br/>对于新老架构负载对比图，个人觉得意义不大，新架构只是把高负载的任务由webserver拆到了worker上，并不是由于引进gearman而带来根本上的负载降低，有误导新手的嫌疑
]]>
</description>
</item><item>
<link>http://zyan.cc/dips/#blogcomment4370</link>
<title><![CDATA[[评论] 利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>icerain &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Sun, 08 Nov 2009 04:08:54 +0000</pubDate> 
<guid>http://zyan.cc/dips/#blogcomment4370</guid> 
<description>
<![CDATA[ 
	个人觉着整体性能还是一样的。
]]>
</description>
</item><item>
<link>http://zyan.cc/dips/#blogcomment4387</link>
<title><![CDATA[[评论] 利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>melec &lt;melec@163.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 10 Nov 2009 21:28:05 +0000</pubDate> 
<guid>http://zyan.cc/dips/#blogcomment4387</guid> 
<description>
<![CDATA[ 
	这个分布式应用的实践，也可以说这个探索的意义非常大！就如同张宴之前的一些文章，给php找到很多来简单易用的、解决一些大负载、大存储量、大规模计算的方案。闲置的计算资源是已有的，不利用就是浪费的，这个方法再进一步探索，可以利用的空间很大，很容易就变成了php可用的分布式计算服务平台。
]]>
</description>
</item><item>
<link>http://zyan.cc/dips/#blogcomment4389</link>
<title><![CDATA[[评论] 利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>melec &lt;melec@163.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 10 Nov 2009 21:31:48 +0000</pubDate> 
<guid>http://zyan.cc/dips/#blogcomment4389</guid> 
<description>
<![CDATA[ 
	我看到gearman有mysql接口？ 有实践过的没？这个还是挺有吸引力的，可以作为容错的解决方案不？
]]>
</description>
</item><item>
<link>http://zyan.cc/dips/#blogcomment4431</link>
<title><![CDATA[[评论] 利用开源的Gearman框架构建分布式图片处理平台[原创]]]></title> 
<author>zybingliu &lt;zybing@online.sh.cn&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Mon, 16 Nov 2009 07:48:22 +0000</pubDate> 
<guid>http://zyan.cc/dips/#blogcomment4431</guid> 
<description>
<![CDATA[ 
	在处理平台集群的图片上，引用了gearman.org中的一张图片（<a href="http://gearman.org/images/gearman_cluster.png" target="_blank">http://gearman.org/images/gearman_cluster.png</a>），<br/><br/>4台client，分成2组，连接到2台JobServer上，4台Worker分别都连接到2台JobServer上。<br/><br/>有一个问题：<br/>对于worker来说，没有问题，同时为2台JobServer提供服务。<br/>当1台JobServer故障，4台client中，就有2台就服务连接到JobServer了，无法进行服务了。这样必然有相当部分的用户收到了影响。<br/><br/>有没有现成的方式，client也同时连接到2台JobServer上，当一台JobServer故障，可以自动发送给另外一台运行正常的JobServer，这样实现fail over？<br/><br/><br/><br/>这个问题如何处理的？
]]>
</description>
</item>
</channel>
</rss>