E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
nsq源码分析
NSQ源码分析
之概述
罗道文的私房菜消息队列在互联网公司使用非常普遍,因此也促使我去学习研究消息队列的原理以及细节问题;之前也有接触过消息队列,最主要就是在异步处理方面,当然消息队列还解耦,流量削峰等功能;目前消息队列产品也比较多,例如kafka,ActiveMQ,RabbitMQ,NSQ等等;之前原本打算看kafka,但是处于学习成本(kafka是scala编写,之前scala接触的比较少),所以就先不看kafka,
faunjoe
·
2024-02-13 12:29
golang
nsq源码分析
&添加中文注释系列(一)
Go语言是一个看起来平淡无奇,但真正用起来是让人爱不释手的一门语言。一直也想用Go来写点什么项目,但github上趴了很久最终也没下决心去实际行动,也是碰巧有一天看到一篇文章介绍NSQ实时消息队列的源码分析,让我有了也要去深入学习的冲动。。。学习大神的代码思想和整体架构话说我一直用着世界上最好的语言PHP,总想深入做个源码分析,每次都是刚开始就止步于此。。。也想去看看kafka的源码,但是,但可是
晓亮1988
·
2023-03-24 09:25
NSQ源码分析
(二)—— Topic
Topic是NSQ非常重要的概念,本次主要讲述Topic的获取、新建、Topic中消息的轮询、Topic中消息的来源、Topic的删除和退出以及Topic的暂停和取消暂停topic的相关操作主要在nsq/nsqd/topic.go中首先看下Topic结构体typeTopicstruct{//64bitatomicvarsneedtobefirstforproperalignmenton32bitp
思维的深度
·
2020-06-26 12:49
nsq
NSQ源码学习
NSQ源码分析
(五)——Channel
Channel相关的代码主要位于nsqd/channel.go,nsqd/nsqd.go中。Channel是消费者订阅特定Topic的一种抽象。对于发往Topic的消息,nsqd向该Topic下的所有Channel投递消息,而同一个Channel只投递一次,Channel下如果存在多个消费者,则随机选择一个消费者做投递。这种投递方式可以被用作消费者负载均衡。Channel会将消息进行排列,如果没有
思维的深度
·
2020-06-26 12:49
nsq
NSQ源码学习
NSQ源码分析
(一)——nsqd的初始化及启动流程
nsq源码地址:https://github.com/nsqio/nsq版本1.1.0
NSQ源码分析
系列是我通过阅读nsq的源码及结合网上的相关文章整理而成,由于在网上没有找到很详细和完整的文章,故自己亲自整理了一份
思维的深度
·
2020-06-26 12:18
nsq
NSQ源码学习
nsqd源码
nsqd
nsq源码分析
(2):nsqlookup之RegistrationDB数据库
nsq源码分析
(2):nsqlookup之RegistrationDB数据库RegistrationDB保存集群中nsqd的拓扑信息及注册和心跳信息nsqlookupd参考资料RegistrationDB
shanhuhai5739
·
2020-06-26 08:47
nsq源码分析
nsq源码分析
(3):nsqd之数据持久化
nsq源码分析
(3):nsqd之数据持久化nsqd持久化使用go-diskqueue包实现diskqueue包实现:当nsqd进程退出时,将内存中的数据写入到磁盘当nsqd进程启动时,将磁盘中的数据读入到内存在
shanhuhai5739
·
2020-06-26 08:47
nsq源码分析
nsq源码分析
(3):nsqd之数据持久化2
nsq源码分析
(3):nsqd之数据持久化2当nsqd进程退出时,将内存中的数据写入到磁盘当nsqd进程启动时,将磁盘中的数据读入到内存nsqd数据信息结构体nsqd/nsqd.gotypemetastruct
shanhuhai5739
·
2020-06-26 08:47
nsq源码分析
nsq源码分析
(2):nsqlookup之http服务
nsq源码分析
(2):nsqlookup之http服务nsqlookup使用了httprouter高性能http请求路由库httprouter的路由信息nsqlookupd/nsqlookupd.go/
shanhuhai5739
·
2020-06-26 08:46
nsq源码分析
nsq源码分析
(2):nsqlookup之tcp服务
nsq源码分析
(2):nsqlookup之tcp服务本章涉及db的读写操作,请参考nsqlookup之RegistrationDB数据库通信协议本章内容涉及tcp协议的封包解包内容,请参考nsqtcp协议规范
shanhuhai5739
·
2020-06-26 08:46
nsq源码分析
nsq源码分析
(2):nsqlookup之启动和停止
nsq源码分析
(2):nsqlookup之启动和停止nsqlookup使用go-svc包控制进程的启动和停止program结构体有三个方法:Init:守护进程启动之前被执行Start:守护进程的启动操作
shanhuhai5739
·
2020-06-26 08:46
nsq源码分析
nsq源码分析
(1):代码结构
nsq源码分析
(1):代码结构nsq项目介绍github项目地址:nsqNSQ是由3个进程组成的:nsqd:接收消息、分发消息到消费者客户端的进程nsqlookupd:管理拓扑信息并提供最终一致性的发现服务
shanhuhai5739
·
2020-06-26 08:16
nsq源码分析
NSQ源码分析
之nsqlookupd
转自:http://luodw.cc/2016/12/13/nsqlookupd/上篇文章介绍了NSQ整体概述以及拓扑结构;这篇文章开始分析下NSQ源码;NSQ主要由三个部分nsqd,nsqlookupd,nsqadmin以及一些工具组成,我们从简单的nsqlookupd开始分析源码;nsqlookupd是nsq管理集群拓扑信息以及用于注册和发现nsqd服务;所以,也可以把nsqlookupd理解
YongApple
·
2020-06-22 14:36
golang
NSQ源码分析
之概述
消息队列在互联网公司使用非常普遍,因此也促使我去学习研究消息队列的原理以及细节问题;之前也有接触过消息队列,最主要就是在异步处理方面,当然消息队列还解耦,流量削峰等功能;目前消息队列产品也比较多,例如kafka,ActiveMQ,RabbitMQ,NSQ等等;之前原本打算看kafka,但是处于学习成本(kafka是scala编写,之前scala接触的比较少),所以就先不看kafka,选择了NSQ;
YongApple
·
2020-06-22 14:04
golang
nsq源码分析
nsq的源码比较简单,值得一读,特别是golang开发人员,下面重点介绍nsqd,nsqd是nsq的核心,其他的都是辅助工具,看完这篇文章希望你能对消息队列的原理和实现有一定的了解。nsqd是一个守护进程,负责接收,排队,投递消息给客户端,并不保证消息的严格顺序,nsqd默认监听一个tcp端口(4150)和一个http端口(4151)以及一个可选的https端口对订阅了同一个topic的同一个ch
1361976860
·
2020-06-21 09:23
NSQ源码分析
(1)-nsqd消息的生产
NSQ通过topic区分不同的消息队列,每个topic具有不同的channel,同一个topic下的每一个消息会被广播到每个channel中。消息从生产者到消费者之路nsq同时支持HTTP协议和TCP协议,客户端可以通过tcp经过特定的协议发布一个消息到nsq的指定topic,或者通过http协议的指定接口。我们先来看一条消息由客户端发布到NSQ的topic会发生什么。从topic到channel
conndots
·
2020-02-07 06:42
NSQ源码分析
(2)- nsqd消息的推送与订阅
NSQ针对消费者采取消息推送的方式,因为NSQ本身基于内存和diskq,并不能容忍太大的消息的堆积,使用推模式也合情合理。前一篇我们已经看到了针对一个发送到给定topic后,这个message被复制了多份,发送到了这个topic下的每一个channel中,存在在channel的memeoryMsgChan或者backend中。消息的订阅与推送关于消息的推送最重要的是两个文件:nsqd/protoc
conndots
·
2020-02-06 08:44
NSQ源码分析
之nsqlookupd
罗道文的私房菜这篇文章开始分析下NSQ源码;NSQ主要由三个部分nsqd、nsqlookupd、nsqadmin以及一些工具组成,我们从简单的nsqlookupd开始分析源码;nsqlookupd是nsq管理集群拓扑信息以及用于注册和发现nsqd服务;所以,也可以把nsqlookupd理解为注册发现服务;当nsq集群中有多个nsqlookupd服务时,因为每个nsqd都会向所有的nsqlookup
faunjoe
·
2019-12-19 12:54
nsq源码分析
nsq源码分析
nsq的源码比较简单,值得一读,特别是golang开发人员,下面重点介绍nsqd,nsqd是nsq的核心,其他的都是辅助工具,看完这篇文章希望你能对消息队列的原理和实现有一定的了解。
不断的谦逊,不断的努力
·
2019-09-02 10:00
nsq源码分析
nsq的源码比较简单,值得一读,特别是golang开发人员,下面重点介绍nsqd,nsqd是nsq的核心,其他的都是辅助工具,看完这篇文章希望你能对消息队列的原理和实现有一定的了解。nsqd是一个守护进程,负责接收,排队,投递消息给客户端,并不保证消息的严格顺序,nsqd默认监听一个tcp端口(4150)和一个http端口(4151)以及一个可选的https端口对订阅了同一个topic的同一个ch
啊汉
·
2019-09-02 10:00
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他