Coolpy7消息服务器简介
Coolpy7 (Coolpy7 MQTT Broker) 是基于 Golang 平台开发的开源物联网 MQTT 消息服务器。Golang是出色的并行计算、低延时、分布式 的语言平台。MQTT 是轻量的(Lightweight)、发布订阅模式(PubSub) 的物联网消息协议。
Coolpy7 项目设计目标是承载移动终端或物联网终端海量 MQTT 连接,并实现在海量物联网设备间快速低延时消息路由:
    1.
    稳定承载大规模的 MQTT 客户端连接,单服务器节点支持100万到1000万连接。
    2.
    分布式节点集群,快速低延时的消息路由,单集群支持1000万规模的路由。
    3.
    消息服务器内扩展,支持定制多种认证方式、高效存储消息到后端数据库。
    4.
    完整物联网协议支持,MQTT、MQTT-SN、WebSocket 或私有协议支持。

MQTT 发布订阅模式简述

MQTT 是发布订阅(Publish/Subscribe) 模式的消息协议,与 HTTP 协议请求响应(Request/Response) 模式不同。
MQTT 发布者与订阅者之间通过”主题”(Topic) 进行消息路由,主题(Topic) 格式类似 Unix 文件路径,例如:
1
sensor/1/temperature
2
3
chat/room/subject
4
5
presence/user/feng
6
7
sensor/1/#
8
9
sensor/+/temperature
10
11
uber/drivers/joe/inbox
Copied!
MQTT 主题(Topic) 支持’+’, ‘#’的通配符,’+’通配一个层级,’#’通配多个层级(必须在末尾)。
MQTT 消息发布者(Publisher) 只能向特定’名称主题’(不支持通配符)发布消息,订阅者(Subscriber)通过订阅’过滤主题’(支持通配符)来匹配消息。
注解
初接触MQTT协议的用户,通常会向通配符的’过滤主题’发布广播消息,MQTT 协议不支持这种模式,需从订阅侧设计广播主题(Topic)。 例如 Android 推送,向所有广州用户,推送某类本地消息,客户端获得 GIS 位置后,可订阅 ‘news/city/guangzhou’ 主题。

开源 MQTT 客户端项目

Last modified 2mo ago