消息系统nats(gnatsd)的自定义鉴权扩展

文章探讨了在gnatsd消息系统中遇到的性能瓶颈问题,并对比了与mqtt的区别。作者发现gnatsd的鉴权系统起初是通过配置文件管理,为了解决大量用户的不同权限需求,他提出了自定义鉴权解决方案,即通过实现特定接口,在服务器初始化时传入自定义鉴权类,例如使用Redis查询进行鉴权。文章引用了相关GitHub Issues讨论了这个外部认证和授权的扩展功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为对mqtt服务器mosquitto的源码简单研究感觉其性能在多处都有瓶颈比如网络层没有使用epoll,topic使用树(在大量topic时岂不是要遍历到死)还有很多……,所以又去网上搜索其他消息系统的资料,然后发现gnatsd的性能很牛逼,虽然功能上比mqtt弱,但是在某种程度上可能也可以契合我的项目。
首先我想了解一下gnatsd的鉴权系统,一开始发现都是写在配置文件里,这样对于少量的用户是可以的或者大量用户时共享密码和权限,但是如果想对所有用户都使用不同的密码和权限控制就不行了。

自定义鉴权解决方案


还没开始正式使用,都没下载代码只是简单在github上查看了一下代码最终发现一个解决方案:

server/auth.go:
// Authentication is an interface for implementing authentication
type Authentication interface {
    // Check if a client is authorized to conn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值