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


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

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

  1. 前端=> WordPress form
  2. 后端=> SuiteCRM
  3. Integration => Middleware (RabbitMQ)

我有一个所谓的"人",他可以在WordPress网站上注册一个事件。

我想在点击按钮后实现的是,表单数据被发布到我的CRM工具:

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

我的问题是:

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

你可以用RabbitMQ做你想做的事情,但是你需要的架构比你建议的要稍微多一点。

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

RabbitMQ PHP基础教程:

  • http://www.rabbitmq.com/tutorials/tutorial-one-php.html

你正在寻找一个工作队列:

  • http://www.rabbitmq.com/tutorials/tutorial-two-php.html

你可能想看看这些PHP和RabbitMQ的资源,来自James Titcumb(又名"asgrim")

  • https://nomadphp.com/rabbitmq-can/
  • https://github.com/asgrim/rmq-slides
  • http://www.slideshare.net/asgrim1/practical -信息-排队-使用- rabbitmq phpem - 3日-七月- 2014

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

  • https://leanpub.com/b/rmq-layout-and-patterns-for-php