好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

golang nsq简明入门教程

1.安装

topic


可以看到已经有一个topic了,但topic中的channel并不会自动创建,web页面上也会显示,没有channel,此时我们可以创建一个channel测试看一下

image.png


channel创建好了以后,消息发送后,channel可自动获取到,此时并没有消费者从channel中获取消息,我们可以写一个简易的客户端来消费channel中的消息

package mainimport (
    "fmt"
    "sync"

    "github.com/nsqio/go-nsq")func main() {
    testNSQ()}type NSQHandler struct {}func (this *NSQHandler) HandleMessage(msg *nsq.Message) error {
    fmt.Println("receive", msg.NSQDAddress, "message:", string(msg.Body))
    return nil}func testNSQ() {
    url := "127.0.0.1:4150"

    waiter := sync.WaitGroup{}
    waiter.Add(1)

    go func() {
        defer waiter.Done()
        config := nsq.NewConfig()
        config.MaxInFlight = 9

        for i := 0; i < 10; i++ {
            consumer, err := nsq.NewConsumer("baoer", "test", config)
            if nil != err {
                fmt.Println("err", err)
                return
            }

            consumer.AddHandler(&NSQHandler{})
            err = consumer.ConnectToNSQD(url)
            if nil != err {
                fmt.Println("err", err)
                return
            }
        }
        select {}
    }()

    waiter.Wait()}

查看更多关于golang nsq简明入门教程的详细内容...

  阅读:52次