win下更加直观一些,所以不使用liunx


第一步下载

nsq 下载地址

https://github.com/nsqio/nsq.git

使用git clone或者go get 下载下来

第二部 编译文件

文件中,能看到这是nsq的核心源码

其中最重要的是 nsqlookupd(注册管理地址),nsqd(node节点),nsqadmin(web管理界面),先进行三个文件夹中进行一个编译

go build .

得到三个可执行的.exe文件

第三步 启动一个nsqlookupd

先启动 nsqlookupd,不需要任何参数

其中nsqlookup开启了 http端口4161 和 tcp端口4160

注意其中tcp端口是给nsqd节点连接使用的,http则是给一些输出文件使用,比如数据经过节点会发送请求之类的

现在是开启了一个管理其他节点的注册,聚合一体的程序

第四步 开启一个nsqd的节点

讲解一下,使用执行nsqd.exe 开启节点服务

其中参数--lookupd-tcp-address=127.0.0.1:4160

分开来看分别是

--lookupd 表示连接开启的lookupd服务,节点一般都是tcp减少每次连接的消耗

-tcp (-http) 表示用什么样的方式连接lookupd服务来进行注册以及存活检测

-address  表示lookupd的服务器ip地址在哪(lookupd和nsqd节点不在一个服务器上,本地就是127.0.0.1) 端口号是lookupd 启动时开启的端口

下面可以看到当一个nsqd的节点连接到lookupd上时

存在lookupd的服务器会隔一段时间将放置在内存中nsqd节点不断轮询,反正出现意外及时删除

多开启几个nsqd节点

 .\nsqd.exe --lookupd-tcp-address=127.0.0.1: --tcp-address=0.0.0.0:xxxx --http-address=0.0.0.0:xxxx

// 除了第一个开启的节点只带lookupd服务器地址外(默认占用4150和4151),其他的节点开启都需要指定节点暴露出去的tcp和http端口,

也能看到 lookupd接受到注册节点的一些信息

第五步 开启web管理界面

.\nsqadmin.exe --lookupd-http-address=127.0.0.1:

// 指定lookupd的服务器地址以及开启的端口(默认4161)
// 注意这里是http,不是tcp连接

在开启nsqadmin的机器上开启浏览器,打开 127.0.0.1:4171 能看到nsq的web管理界面

由于没有topic,所以为空,但是在nodes能看到注册的节点信息

就是我们刚刚开启的三个节点信息,nsqd节点名称,接受节点传输信息服务的服务器地址(暂时没有),tcp,http端口,nsqd版本号,以及lookupd保存存活的tcp连接

如果关闭一个节点,lookupd也会发生变化



最好还有一个程序

这三个分别是当数据经过节点传输中保存的位置,file是本地存储,http需要给定一个接口接受,nsq暂时未知??

nsq 初学使用日记的更多相关文章

  1. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习9

    #include <iostream> #include <fstream> #include <cstdlib> #include <string> ...

  2. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习8

    #include <iostream> #include <fstream> #include <cstdlib> const int SIZE=20; using ...

  3. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习7

    #include <iostream> #include <string> #include <cctype> using namespace std; int m ...

  4. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习6

    #include <iostream> #include <string> using namespace std; const int MSIZE=100; struct j ...

  5. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习5

    #include <iostream> using namespace std; const double N1=35000; const int N2=15000; const int ...

  6. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习4

    #include <iostream> using namespace std; const int strsize=30; const int BOPSIZE=5; void showm ...

  7. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习3

    #include <iostream> using namespace std; void showmenu(void) { cout<<"Please enter ...

  8. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习2

    #include <iostream> #include <cctype> using namespace std; const int MAXSIZE=10; int mai ...

  9. 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习1

    #include <iostream>#include <cctype>using namespace std;int main(){ char ch; while((ch=c ...

随机推荐

  1. python易错知识集合

    本篇用于记录在写leetcode时遇到的python易错知识. 2019.8.29 1.Python range() 函数用法: range(start, stop[, step]) start: 计 ...

  2. LeetCode Day 5

    LeetCode0005 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab& ...

  3. java面试题 -- 基础

    1.抽象和封装的不同点抽象和封装是互补的概念.一方面,抽象关注对象的行为.另一方面,封装关注对象行为的细节.一般是通过隐藏对象内部状态信息做到封装,因此,封装可以看成是用来提供抽象的一种策略.2.重载 ...

  4. labview程序结构

    三种范式:面向过程.面向事件,面向对象:六种模式:标准状态机.消息队列.生产者/消费者(事件).生产者/消费者(数据).用户界面事件处理.主/从 事件结构相当于是一个while语句里边嵌套了一个条件结 ...

  5. SpringMVC学习笔记七:SpringMVC的数据验证

    SpringMVC支持JSR(Java Specification Requests, Java规范提案)303-Bean Validation数据验证规范,该规范的实现者很多,其中较常用的是 Hib ...

  6. 吴裕雄--天生自然 R语言开发学习:聚类分析(续一)

    #-------------------------------------------------------# # R in Action (2nd ed): Chapter 16 # # Clu ...

  7. Ubuntu和window10 安装双系统

    先安装window10,然后空出一部分储存空间,我空出来了103G. 然后安装ubuntu分区的时候注意: 刚开始安装的时候:出现安装类型的时候:选择其他选项: 在分区的时候:单击127117(这里是 ...

  8. java文件压缩ZipOutPutStream

    其实最好的书籍就是javaAPI 1.创建ZipOutPutStream流,利用BufferedOutputStream提个速. 2.新建zip方法,用来压缩文件,传参 3.zip方法利用putNex ...

  9. 确认下眼神!有没有遇上对的工资(测试leader)

    屏蔽敏感信息,直接上图: ▼

  10. 奇异值分解原理及Python实例

    奇异值分解 SVD(Singular Value Decomposition)是一种重要的矩阵分解方法,可以看做是特征分解在任意矩阵上的推广,SVD是在机器学习领域广泛应用的算法. 特征值和特征向量 ...