如何使用 RabbitMQ 在 3 层架构中存储表单数据

How to use RabbitMQ for storing form data in a 3-Tier architecture

所以在我的测试项目中,我使用了 3 个系统:

  1. 前端 => WordPress 表单
  2. 后端 => SuiteCRM
  3. 集成 => 中间件 (RabbitMQ)

我有一个所谓的 "person",他可以在 WordPress 网站上注册一个活动。

单击按钮后我想要实现的是将表单数据发布到我的 CRM 工具中:

这意味着我的 CRM 的数据库 table 'registered_users' 将填充表单数据。 (table 已创建且列与表单匹配)。

我的问题是:

  1. 我正在努力实现的目标能够使用 Middleware RabbitMQ 工作吗? RabbitMQ 可以用于传输 PHP 变量并将它们存储在数据库中吗?
  2. 如果是,我的方法是如何集成此中间件软件?
  3. 这个主意好吗? RabbitMQ 能够做到这一点吗?
  4. 除了使用类似 RabbitMQ 的软件之外,还有什么其他好的方法可以解决我的问题?

你可以用 RabbitMQ 做你想做的事,但你需要的架构比你建议的要多一些。

  1. 用户点击提交表单,并发布到您的网络服务器
  2. Web 服务器捕获表单提交并创建 JSON 文档
  3. Web 服务器通过 RabbitMQ 发布 JSON 文档
  4. 后端服务使用 JSON 文档并更新数据库

PHP 上的基本 RabbitMQ 教程应该可以帮助您:

您正在专门寻找工作队列:

您可能想查看 James Titcumb(又名 "asgrim")PHP 和 RabbitMQ 的这些资源

和我自己的一些书,还有一本关于 PHP 和 RabbitMQ