开源消息中间件的学习

     最近因为工作的缘故,需要对消息传递的功能进行处理,于是开始到开源软件中寻找,发现了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三种层次的消息传递后再写学习、应用结果。

你可能感兴趣的:(开源消息中间件的学习)