最近由于工做的缘故,须要对消息传递的功能进行处理,因而开始到开源软件中寻找,发现了Spread比较适合,进一步研究后发现,Gearman消息中间件能够用另一种方式实现消息的传递,由于个人工做环境涉及到AIX、HP-UX、Linux、Windows等不一样操做系统,C、PHP、Java、Perl等多种语言开发的应用程序、API接口等方面的要求,很是复杂的环境,对业务处理功能的要求也比较多,于是须要组合使用不一样层次的消息中间件来知足要求。安全
在我最先应用的一个实时监控短信发送平台中,就曾经使用了Jabber协议构成的服务器,分别在AIX、HP-UX、Linux、Windows等四种操做系统下使用Perl编写了客户端,供各个应用系统将监控信息传递出现,再经过短信平台发送到手机上。这样的模式很是稳定,短信发送平台作过2次迁移和功能升级,但各个应用系统都不须要作任何调整和改变,部署和维护很是简单,今后尝到了消息传递中间件带来的好处和便利。服务器
因为Jabber协议使用了XML构成消息的内容,而咱们应用系统多数是C写的,若是嵌入到C中增长XML的处理,将会使部署环境复杂化,加上系统安全的缘由,用户只能在本身的权限内使用应用程序,JRE环境不能随便安装,于是只有经过外部调用Perl编译的最终执行程序(比较大,加载时间有点长)来实现内容的传送,此方式在应用要求比较少时能够接受,但要求多了之后效率比较低,同时不能解决一些特殊场合的要求,于是须要另外寻求解决方案。学习
Spread的初步学习和研究,能够解决部分问题,由于能够经过C、Perl、Java、PHP等方式的API实现应用的调用。今天看到了Gearman的介绍,就有灵活的方案解决一些特殊场合和应用功能要求的有矛盾或制约的难题,很是不错。操作系统
等到在实现生产环境中实现组合Jabber、Spread、Gearman三种层次的消息传递后再写学习、应用结果。中间件