NSQ是什么
(本文作者 changjixiong,以下是正文)
NSQ是一个实时消息平台,引用一段InfoQ上的介绍:
“NSQ是一个基于Go语言的分布式实时消息平台,它基于MIT开源协议发布,代码托管在GitHub。NSQ可用于大规模系统中的实时消息服务,并且每天能够处理数亿级别的消息,其设计目标是为在分布式环境下运行的去中心化服务提供一个强大的基础架构。NSQ具有分布式、去中心化的拓扑结构,该结构具有无单点故障、故障容错、高可用性以及能够保证消息的可靠传递的特征。NSQ非常容易配置和部署,且具有最大的灵活性,支持众多消息协议。”
如何开始使用
这里有一个例子用来说明如何安装、启动以及发送与接收消息:
An Example of Using NSQ From Go(地址:http://tleyden.github.io/blog/2014/11/12/an-example-of-using-nsq-from-go/)
构建消息的响应函数
如果单是用一个匿名函数来处理收到的消息显然是不够的,下面用代码来演示一下如果根据收到的消息来使用相应的处理函数。
生产者
首先我们来创建生产者
config := nsq.NewConfig()
w, _ := nsq.NewProducer("127.0.0.1:4150", config)
jsonData := []string{}
jsonData = append(jsonData, `
{
"func_name":"BarFuncAd