nsq 是 go 语言体系下一款非常著名的消息队列。它本身非常容易上手,文档写的也很清晰,同时它的源码也并不复杂。这里不能不提一下,使用 go 的通道来编写消息队列的话是真的方便。我们从生产者接收消息后为了效率考虑肯定是要存到内存中,如果使用共享内存的话,比如Java中的容器,那么存入消息和取出消息都需要加锁;但是在 go 语言中,我们就不需要加锁,一个协程往通道里扔,另一个协程从通道里取即可,非常方便。
为了更深入的理解消息队列,我决定用一个系列文章来实现一个迷你版的nsq。本篇文章将会实现nsq最基本的功能:生产者发布消息和消费者订阅接收消息。后续的每一版都会在前一版的基础进行完善。
在看代码之前,我们先来回顾一下nsq的消息传递过程。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦