【发布时间】:2016-11-08 00:03:01
【问题描述】:
所以在我的测试项目中,我使用了 3 个系统:
- 前端 => WordPress 表单
- 后端 => SuiteCRM
- 集成 => 中间件 (RabbitMQ)
我有一个所谓的“人”,可以在 WordPress 网站上的活动中注册。
点击按钮后我想要实现的是将表单数据发布到我的 CRM 工具中:
这意味着我的 CRM 的数据库表 'registered_users' 将填充表单的数据。 (表已创建,列与表单匹配)。
我的问题是:
- 我正在努力争取能够使用中间件 RabbitMQ 工作吗? RabbitMQ 可以用于 PHP 变量的传输并将它们存储在数据库中吗?
- 如果是,我将采用什么方法集成此中间件软件?
- 这个主意好不好? RabbitMQ 能够做到这一点吗?
- 除了使用 RabbitMQ 之类的软件之外,还有哪些其他好的方法可以解决我的问题?
【问题讨论】:
-
对“中间件”一词的使用不当。在任何情况下,RabbitMQ(与所有队列一样)采用某种形式的消息。然后稍后一个或多个消费者处理一条消息并将其从队列中删除。
-
这个问题看起来更像是在请求"N-tier"。当存在异步流时,队列很有用,并且在某些场景(路由、重放、负载缓冲)中可以提供许多优势。然而,这并不是所有问题的正确解决方案。
-
无论如何,RabbitMQ 会这样: 1) 用户按下提交表单的客户端(Web 浏览器)上的按钮; 2) 前端Web应用程序(例如PHP)向Rabbit Exchange发布一条带有所需信息的消息; 3)消费者应用程序监听来自rabbit的队列并“做某事”(无论应该做什么)以响应接收到特定的消息/数据。
-
将消息视为 JSON 文本(RabbitMQ 允许任何数据,但是..)。消费应用程序仅知道消息中的内容和任何本地上下文。消费者不知道发布者中存在哪些变量,除非这些变量已转换为消息中的信息。例如,可以从相关的注册表单信息构建 JSON 消息。
-
当然,它可以为所欲为。
标签: php wordpress integration sugarcrm suitecrm