consul是一款流行的配置中心,服务发现工具,至于它的介绍在这就不多说了,那么,如何用golang读取consul里的配置呢,这里只要用到https://github.com/spf13/viper这个工具包,代码如下:

package main

import (
    "fmt"
    "github.com/spf13/viper"
    _ "github.com/spf13/viper/remote"
)

func main() {

    viper.AddRemoteProvider("consul", "http://xxx:8500", "config/default/data")
    viper.SetConfigType("yaml")
    err := viper.ReadRemoteConfig()
    if err != nil {
        panic(err)
    }
    port := viper.Get("server.port")
    fmt.Println(port)

}

config/default里面的配置如图:


consul-kv-config.png

哈哈,挺简单的