当前位置:  开发笔记 > 编程语言 > 正文

我需要基于Web的系统的消息/队列解决方案

如何解决《我需要基于Web的系统的消息/队列解决方案》经验,为你挑选了1个好方法。

我正在寻找在Ubuntu上运行的基于Web的系统的消息/队列解决方案。

该系统基于以下技术构建:

Javascript(Extjs框架)-前端

的PHP

Python(与加密设备交互的守护程序服务)

Python pyserial-(串行端口交互)

的MySQL

Linux-Ccustom bash脚本(更新数据库/邮件报告)

该系统具有以下目的:

在分布式平台上捕获客户端信息

使用硬件设备加密/解密敏感交易

系统故障:

    用户可以使用Web浏览器访问系统

    用户捕获客户端信息,然后按“提交”按钮数据被发送到加密设备,系统进入等待状态

    然后,数据在设备上加密并发送回浏览器

    加密的数据保存到数据库

    系统退出等待状态并显示DONE消息

请注意:我已经处理了等待/处理中的消息,所以忽略它。

到目前为止,我所做的是:

我创建了一个python守护程序,用于监视数据库视图中是否有任何新请求

守护程序服务使用pyserial在设备上执行新请求,并使用“响应”更新请求表。加密内容

我在PHP中创建了一个轮询服务,该服务经常检查>请求表中是否存在针对特定请求的“响应”

使用适当的等待/完成状态消息创建了Extjs前端

当前设置的问题:

并发-我们期望使用数据库作为消息/排队解决方案的任何时候,随时有20个以上的用户提交数据库的加密/解密请求,由于表锁定和仅1个监听请求的监听进程,因此无法扩展

守护程序服务-依赖守护程序服务有点冒险,并且数据库开销似乎有点高,每秒轮询一次视图以查找新请求

开发-通过仅将请求发送到加密/解密服务而不是执行在db中插入请求,轮询响应以及在守护程序服务中处理请求的整个过程,可以简化我的开发任务。

我的问题:

在这种情况下,理想的消息/查询解决方案是什么?请考虑>我的系统专门在Ubuntu O / S上运行。

我已经做了一些Google服务,遇到了一个叫做“ Stomp”的服务器,但是事实证明它安装起来有些困难,而且缺少一些文档。我也更喜欢那些在设置类似内容方面有经验的个人的建议,而不是一些“如何”指导的建议:)

感谢您的时间



1> Alex Martell..:

我相信AMQP的流行RabbitMQ实现提供了PHP扩展(在此处),您可以肯定地使用Python访问AMQP,例如通过Qpid。RabbitMQ也很容易在Ubuntu(或Debian)上安装,请参见例如此处。

无论是通过RabbitMQ还是其他方式,与更“封闭”的解决方案相比,采用开放式消息传递和排队协议(例如AMQP)都具有明显的优势(即使从技术上讲是开源的,此类解决方案也不会提供那么多的实现,因此具有灵活性) ,作为一种广泛采用的开放式标准协议)。

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有