继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

golang开源软件nsq实现原理

qq_阿难云意_0
关注TA
已关注
手记 1
粉丝 0
获赞 0

nsq 是 go 语言体系下一款非常著名的消息队列。它本身非常容易上手,文档写的也很清晰,同时它的源码也并不复杂。这里不能不提一下,使用 go 的通道来编写消息队列的话是真的方便。我们从生产者接收消息后为了效率考虑肯定是要存到内存中,如果使用共享内存的话,比如Java中的容器,那么存入消息和取出消息都需要加锁;但是在 go 语言中,我们就不需要加锁,一个协程往通道里扔,另一个协程从通道里取即可,非常方便。

为了更深入的理解消息队列,我决定用一个系列文章来实现一个迷你版的nsq。本篇文章将会实现nsq最基本的功能:生产者发布消息和消费者订阅接收消息。后续的每一版都会在前一版的基础进行完善。

在看代码之前,我们先来回顾一下nsq的消息传递过程。


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP