NSQ消息队列
前面的总结中提到过这个玩意,所以简单说说,win上面的测试验证
网上有比较合适的博文,我先推荐几篇
https://blog.csdn.net/a2247889821/article/details/82217442
https://blog.csdn.net/lu92649264/article/details/80693030
https://blog.csdn.net/u013735511/article/details/82555419
https://blog.xuanyueting.com/2018/05/19/nsq%E4%BB%8B%E7%BB%8D%E5%92%8Cgo-nsq%E4%BD%BF%E7%94%A8/
https://blog.csdn.net/wangchaoxiaoban/article/details/76037142
我在简化一下,给大家说说几个win什么的东西。
核心组件:
nsqd.exe 该组件负责接收数据和转发数据。生产者发布数据到这里,消费者来这里取数据。
类似集群部署组件
nsqlookupd.exe 该组件负责管理 nsqd.exe, nsqd.exe向该组件注册,心跳通信,状态获取。nsqlookupd根据心跳确定nsqd是否在线,获取每个nsqd上的主题信息。
辅助工具
nsqadmin.exe 该组件在消息系统中没有作用,只是一个辅助工具,提供一个网页界面方便查看主题信息,该组件从nsqlookupd获取主题数据并且展示。你可以简单理解成这是一个小web,为你提供信息。
在win上,默认启动是这样的。

这就是大概情况。结合c#的客户端NsqCSharp,给大家解释下。
1.生产者
客户端例子:
var producer = new Producer("127.0.0.1:4150");
producer.Publish("test-topic-name", "Hello!");
说明:nsqd启动,看图,TCP的默认端口是4150,生产者直接将数据推出。
2.消费者
var consumer = new Consumer("test-topic-name", "channel-name");
consumer.AddHandler(new MessageHandler());
consumer.ConnectToNsqLookupd("127.0.0.1:4161");
说明:这里消费端使用的是http,消费端这里的地址是nsqlookupd的http端口,通过该地址获取该主题的nsqd地址,内部再去连接nsqd,这个是当前客户端封装的。
上面这种方式,生产者直接连接nsqd,消费者先通过nsqlookupd获取nsqd,然后再连接,是nsq官方推荐的方式。
NSQ消息队列的更多相关文章
- 剖析nsq消息队列(一) 简介及去中心化实现原理
分布式消息队列nsq,简单易用,去中心化的设计使nsq更健壮,nsq充分利用了go语言的goroutine和channel来实现的消息处理,代码量也不大,读不了多久就没了.后期的文章我会把nsq的源码 ...
- 剖析nsq消息队列(二) 去中心化代码源码解析
在上一篇帖子剖析nsq消息队列(一) 简介及去中心化实现原理中,我介绍了nsq的两种使用方式,一种是直接连接,还有一种是通过nslookup来实现去中心化的方式使用,并大概说了一下实现原理,没有什么难 ...
- 剖析nsq消息队列(四) 消息的负载处理
剖析nsq消息队列-目录 实际应用中,一部分服务集群可能会同时订阅同一个topic,并且处于同一个channel下.当nsqd有消息需要发送给订阅客户端去处理时,发给哪个客户端是需要考虑的,也就是我要 ...
- 剖析nsq消息队列目录
剖析nsq消息队列(一) 简介及去中心化实现原理 剖析nsq消息队列(二) 去中心化源码解析 剖析nsq消息队列(三) 消息传输的可靠性和持久化[一] 剖析nsq消息队列(三) 消息传输的可靠性和持久 ...
- Go:Nsq消息队列
Nsq服务端简介 在使用Nsq服务之前,还是有必要了解一下Nsq的几个核心组件整个Nsq服务包含三个主要部分 nsqlookupd 先看看官方的原话是怎么说:nsqlookupd是守护进程负责管理拓扑 ...
- 消息队列 NSQ 源码学习笔记 (一)
nsqlookupd 用于Topic, Channel, Node 三类信息的一致性分发 概要 nsqlookup 知识点总结 功能定位 为node 节点和客户端节点提供一致的topic, chann ...
- 消息队列性能对比——ActiveMQ、RabbitMQ与ZeroMQ(译文)
Dissecting Message Queues 概述: 我花了一些时间解剖各种库执行分布式消息.在这个分析中,我看了几个不同的方面,包括API特性,易于部署和维护,以及性能质量..消息队列已经被分 ...
- 消息队列Queue大全
消息队列Queue大全 (http://queues.io/) 作业队列,消息队列和其他队列.几乎所有你能想到的都在这. 关于 那里有很多排队系统.他们每个人都不同,是为解决某些问题而创建的.这个页面 ...
- 消息队列&Celery&RabbitMQ&zeromq
一.消息队列 什么是消息队列? “消息队列”是在消息的传输过程中保存消息的容器. “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象. 消息 ...
随机推荐
- 导入excle到服务器时候删除服务器历史数据
//删除历史数据EXCLE 当天前一天的数据都删除 var folder = Path.GetDirectoryName(absFilePath); var files = Directory.Get ...
- ActiveMQ修改端口号
1.修改tcp端口号 安装目录下的conf/activemq.xml 2.修改管理页面的访问端口号 安装目录下的conf/jetty.xml
- python常用函数 O
OrderedDict() 保持dict元素插入顺序. 例子: open(path) 可以对文件进行操作,有'r'读模式.'w'写模式.'a'追加模式.'b'二进制模式.'+'读/写模式等,操作完需要 ...
- Codeforces Round #554 (Div. 2) C.Neko does Maths (gcd的运用)
题目链接:https://codeforces.com/contest/1152/problem/C 题目大意:给定两个正整数a,b,其中(1<=a,b<=1e9),求一个正整数k(0&l ...
- pychrome激活
http://blog.csdn.net/fx677588/article/details/58164902
- 插入排序->希尔排序
/** * 插入排序 */ public class InsertSort { public static void main(String[] args){ int[] arr = {5,5,2,6 ...
- boost propertyTree
Boost PropertyTree provides a tree structure to store key/value pairs. Tree structures means that a ...
- 替换OSD操作的优化与分析
http://www.zphj1987.com/2016/09/19/%E6%9B%BF%E6%8D%A2OSD%E6%93%8D%E4%BD%9C%E7%9A%84%E4%BC%98%E5%8C%9 ...
- python global和nonlocal的使用
◆global和nonlocal是Python的两个重要变量作用域关键字 1.global用在全局变量,应用场景: 变量定义在函数外部的时候,如果函数里面想改变这个全局变量的值,需要在当前的引用函数里 ...
- linux: 如何查看端口占用?
查看端口占用 $: netstat -anp | grep 8888 tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 13404/python3 tcp 0 1 172 ...