PHP-MQTT整体解决方案(simps+laravel+swoole+emqx)集群+排坑

田成化
2023-12-01

一、MQTT介绍

MQTT的订阅发布等详情,这里就不做介绍了,自行搜索了解 http://mqtt.org

二、php整体解决方案

这里指的是客户端和服务端都由PHP来搞定,首先需要了解一个包 https://simps.io/
https://github.com/simps/mqtt
这个包是国人做的一个针对mqtt的php整体方案,包含了订阅、发布、服务端等,而且提供了完整的示例
安装通过composer安装即可,需要用到swoole扩展,windows下各位可以借助wsl2来架设

三、服务端借助emqx搭建

https://emqx.com/zh/ 这个作为服务端非常合适

四、常见问题

Q:php mqtt 集群部署的时候多个服务器同时订阅如何只处理一次(共享订阅)
A:emqx 提供了解决方案,需要做一些配置,PHP端只需要对订阅的主题加一个前缀就可以(https://docs.emqx.cn/enterprise/v4.3/advanced/shared-subscriptions.html)

Q:为什么不用simps包提供的服务端
A:这个包提供的服务端比较简洁,很多功能需要自行开发,emqx比较专业点,有自己的管理后台,而且emqx还有很多插件,包括集群部署都可以实现

Q:订阅接收的同时可以发布吗
A:可以,订阅接收到数据的同时通常会发布到另一个主题上,这时候需要注意,客户端不要是一个,也就是

 类似资料: