KarmaGo是国外知名的Wifi服务厂商,他们在MQTT使用方面积累了很多实战经验。以下是他们的分享。 Karma的使命是帮助我们的用户随时随地获得WiFi连接,正是为了实际这一目标、我们构建起了KarmaGo。关于制造硬件与实现设备认证所带来的难题我们已经探讨过多次,今天咱们换个思路,看看在Go背后默默支持着它的软件方案。 在今天的文章中,我们将阐述KarmaGo如何利用MQTT协议与Karma的后端基础设施相对接——MQTT协议属于一套定制构建的MQTT消息代理——以及如何通过一台代理服务器支持后端应用程序在内部通信过程中使用HTTP。 MQTT是什么,我们又为什么要使用MQTT? KarmaGo与KarmaClassic都会定期收集状态信息(例如电池电量与信号强度等),并将其发送回我们的后端。除此之外,Karma设备还需要由后端提供信息来检测当前联网用户是否能够通过该设备访问互联网。 正如我们的CTOStefan之前所解释,KarmaClassic使用HTTP加TLS与我们的后端相对接,而由KarmaClassic发出的状态信息则以小型数据包的形式存在。有鉴于此,我们觉得还有可能在技术架构与数据使用负载方面作出进一步优化,因此我们制定出了明确的解决方案改善思路——降低规模化难度、削减带宽使用率。 下面来说MQTT。这套轻量级消息收发协议专门面向那些以传输带宽以及电池电量为主要拉萨治疗白癜风的医院中科与白癜风患者心心相印
|