我想要一个基于 Http 的发布/订阅服务器,消息通过 HTTP POST 请求发布到通道,并通过 EventSource (SSE) 订阅。除此之外,我想添加通配符订阅功能(请查看此处以了解更多信息:https://www.hivemq.com/blog/mqtt-essentials-part-5-mqtt-topics-best-practices)类似于上海证券交易所经纪商的 MQTT。
您有什么建议吗?那里有类似的东西吗?
使用 SSE 最接近的 pub/sub 是 https://nchan.io/ 。无法像 MQTT 那样完整,但不仅支持 SSE,还支持 POST/GET、Websockets 甚至长池。
似乎没有实现通配符,但至少你可以为一个通道定义多个 url/查询字符串映射:
location ~ /sub/(\w+)$ {
#channel id is the word after /sub/
# GET /sub/foobar_baz will have the channel id set to 'foobar_baz'
# I hope you know your regular expressions...
nchan_subscriber;
nchan_channel_id $1; #first capture of the location match
}
不完全匹配,但https://github.com/sssxyd/go-sse-broker可能适合您的需求