来到编程网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《使用 Websocket 连接到 NSQ》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!
问题内容是否可以通过用户浏览器中运行的 Web 应用程序的 WebSocket 连接与 NSQ 进行通信?
任何内置 NSQ 功能或第三方库建议都会有很大帮助。
正确答案
最近有 WSQ 库解决了通过 websocket 连接与 nsq 通信的任务。
它允许在websocket和nsq端分别定义消息编码/解码逻辑。此外,wsq还支持注入身份验证和授权逻辑,控制用户订阅和发布主题的访问权限,以及根据消息内容过滤传入消息。
创建 wsq 服务器示例:
// Create the default config
wsqConfig := wsq.NewConfig()
// Configure Websocket CheckOrigin callback to bypass any checks.
// Don't do it in production!
wsqConfig.SetWSCheckOrigin(wsq.CheckOriginBypass)
// Create the server instance specifying message and user types to use.
server := wsq.NewServer[message, *wsq.AnonymousUser](
// Address (optional) and port to listen on
":9980",
// WSQ Config instance
wsqConfig,
// NSQ Config instance
nsq.NewConfig(),
// WSQ Transformer struct providing encoders/decoders for NSQ and Websocket sides respectivly
&wsq.Transformer[message]{NSQEnDec: &nsqEnDec{}, WSEnDec: &wsEnDec{}},
// Authentication controller
&wsq.NoAuthentication,
)
server.Run()
本篇关于《使用 Websocket 连接到 NSQ》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注编程网公众号!