nsq 初学使用日记
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 初学使用日记的更多相关文章
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习9
#include <iostream> #include <fstream> #include <cstdlib> #include <string> ...
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习8
#include <iostream> #include <fstream> #include <cstdlib> const int SIZE=20; using ...
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习7
#include <iostream> #include <string> #include <cctype> using namespace std; int m ...
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习6
#include <iostream> #include <string> using namespace std; const int MSIZE=100; struct j ...
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习5
#include <iostream> using namespace std; const double N1=35000; const int N2=15000; const int ...
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习4
#include <iostream> using namespace std; const int strsize=30; const int BOPSIZE=5; void showm ...
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习3
#include <iostream> using namespace std; void showmenu(void) { cout<<"Please enter ...
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习2
#include <iostream> #include <cctype> using namespace std; const int MAXSIZE=10; int mai ...
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第6章编程练习1
#include <iostream>#include <cctype>using namespace std;int main(){ char ch; while((ch=c ...
随机推荐
- [LC] 513. Find Bottom Left Tree Value
Given a binary tree, find the leftmost value in the last row of the tree. Example 1: Input: 2 / \ 1 ...
- django框架基础-框架介绍-长期维护
############### MVC架构介绍 ################ # MVC架构 # 一个软件框架有很多的模块,每一个模块有不同的功能 # 模块与模块之间相互配合来完成软件 ...
- auto uninstaller (autodesk 修复大师) 简体中文版 更新下载地址
小伙伴是不是遇到 CAD/3dmax/maya/Revit/Inventor 安装失败或者安装不了的问题了呢?AUTODESK系列软件着实令人头疼,CAD/3dmax/maya/Revit/Inven ...
- Rancher的部署安装(编排选用K8S)
为什么要使用Rancher Rancher是一个开源的企业级容器管理平台.通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台.Rancher提供了在生产环境中使用的管理Do ...
- 吴裕雄--天生自然HTML学习笔记:HTML 样式- CSS
CSS (Cascading Style Sheets) 用于渲染HTML元素标签的样式. <!DOCTYPE html> <html> <head> <me ...
- VBA 读取加密的Excel文件(VBA 加密Excel)
实验成功的: ExcelApp.Workbooks.Open(文件路径,,,'密码') 这里很坑,搜了别人的博客,下面这个方法试了N次,都没用... ExcelApp.Workbooks.Open(文 ...
- python——pymysql的安装
pymysql是python程序连接mysql数据库的的第三方库,通过运行import pymysql 查看系统中是否有该模块,没有的话需要自行安装. 安装教程如下: 1.下载pymysql安装包,下 ...
- 使用Google App Engine开始新的网站开发学习
继长时间的迷茫后,我发现还是回归php网站开发更适合我,或者没有那么深刻,但至少要做点事情.不知道以后将从事什么样的工作,但现在找点事情做还是很好的.所以,为了激发我学习的热情,我在网上搜了一下免费云 ...
- SpringMVC之参数绑定
1.Controller package com.tz.controller; import org.springframework.beans.factory.annotation.Required ...
- Coding and Paper Letter(十五)
资源整理. 1.Nature Climate Change论文"Higher temperatures increase suicide rates in the United States ...