前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >go-nsq 使用

go-nsq 使用

作者头像
solate
发布2019-07-22 17:47:28
7070
发布2019-07-22 17:47:28
举报
文章被收录于专栏:solate 杂货铺solate 杂货铺

例子

首先就是一个生产者消费者的模式,自己创建的消费者只要有HandleMessage方法就可以

代码语言:javascript
复制
package main

import (
    "fmt"
    "time"

    "github.com/nsqio/go-nsq"
)

// nsq发布消息
func Producer() {
    p, err := nsq.NewProducer("127.0.0.1:4150", nsq.NewConfig())                // 新建生产者
    if err != nil {
        panic(err)
    }   
  
    if err := p.Publish("test", []byte("hello NSQ!!!")); err != nil {           // 发布消息
        panic(err)
    }   
}

// nsq订阅消息
type ConsumerT struct{}

func (*ConsumerT) HandleMessage(msg *nsq.Message) error {
    fmt.Println(string(msg.Body))
    return nil 
}

func Consumer() {
    c, err := nsq.NewConsumer("test", "test-channel", nsq.NewConfig())   // 新建一个消费者
    if err != nil {
        panic(err)
    }   
    c.AddHandler(&ConsumerT{})                                           // 添加消息处理
    if err := c.ConnectToNSQD("127.0.0.1:4150"); err != nil {            // 建立连接
        panic(err)
    }   
}
// 主函数
func main() {
    Producer()
    Consumer()
    time.Sleep(time.Second * 3)
}
// 运行将会打印: hello NSQ!!!

nsq admin

参数说明

nsq admin 中显示的那些参数,可以在这里进行查看 http://nsq.io/components/nsqadmin.html#metrics

##参考

go-nsq使用简述 - ~逍遥~ - 博客园

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 例子
  • nsq admin
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档