nsq源码分析(2):nsqlookup之http服务

nsq源码分析(2):nsqlookup之http服务

nsqlookup使用了httprouter高性能http请求路由库

httprouter的路由信息

nsqlookupd/nsqlookupd.go

    // 启动http服务
    httpListener, err := net.Listen("tcp", l.opts.HTTPAddress)
    if err != nil {
        l.logf("FATAL: listen (%s) failed - %s", l.opts.HTTPAddress, err)
        os.Exit(1)
    }
    l.Lock()
    l.httpListener = httpListener
    l.Unlock()
    httpServer := newHTTPServer(ctx)
    // 封装的waitGroup,内部使用goroutine启动该服务,使用waitGroup守护改协程直到退出
    l.waitGroup.Wrap(func() {
        http_api.Serve(httpListener, httpServer, "HTTP", l.opts.Logger)
    })

在newHTTPServer函数中注册了所有路由信息

待更新…

你可能感兴趣的:(nsq源码分析)