go-micro源码阅读笔记1

栏目: Go · 发布时间: 5年前

内容简介:最近在看微服务,跟大佬们请教了下很多微服务的知识,然后看教程自己实践,在此特别感谢0.01km(QQ昵称)大佬的帮助本节主要是针对与go-micro服务注册的过程中源码阅读的分享,好了,下节继续分享其他部分

最近在看微服务,跟大佬们请教了下很多微服务的知识,然后看教程自己实践,在此特别感谢0.01km(QQ昵称)大佬的帮助

本节主要是针对与go-micro服务注册的过程中源码阅读的分享,

s := micro.NewService(
        micro.Name("go.micro.srv.user"),
        micro.Version("latest"),
    )
    s.Init()

这里做了很多事
    func newOptions(opts ...Option) Options {
    opt := Options{
        Broker:    broker.DefaultBroker,
        Cmd:       cmd.DefaultCmd,
        Client:    client.DefaultClient,
        Server:    server.DefaultServer,
        Registry:  registry.DefaultRegistry,
        Transport: transport.DefaultTransport,
        Context:   context.Background(),
    }
  }

这块初始化Options结构体,如果想要修改consul默认的注册地址,必须要修改NewRegistry函数,里面赋值

type Options struct {
    Addrs     []string //注册ip地址:192.168.1.2:8080
    Timeout   time.Duration
    Secure    bool
    TLSConfig *tls.Config

    // Other options for implementations of the interface
    // can be stored in a context
    Context context.Context
}

//这里是获取默认的配置
func configure(c *consulRegistry, opts ...Option) {
    // set opts
    for _, o := range opts {
        o(&c.opts)
    }

    // use default config
    config := consul.DefaultConfig()

//consul默认配置
func defaultConfig(transportFn func() *http.Transport) *Config {
    config := &Config{
        Address:   "127.0.0.1:8500",
        Scheme:    "http",
        Transport: transportFn(),
    }

    if addr := os.Getenv(HTTPAddrEnvName); addr != "" {
        config.Address = addr
    }

    if token := os.Getenv(HTTPTokenEnvName); token != "" {
        config.Token = token
    }

    if auth := os.Getenv(HTTPAuthEnvName); auth != "" {
        var username, password string
        if strings.Contains(auth, ":") {
            split := strings.SplitN(auth, ":", 2)
            username = split[0]
            password = split[1]
        } else {
            username = auth
        }

好了,下节继续分享其他部分


以上所述就是小编给大家介绍的《go-micro源码阅读笔记1》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

用数据讲故事

用数据讲故事

[美] Cole Nussbaumer Knaflic / 陆 昊、吴梦颖 / 人民邮电出版社 / 2017-8 / 59.00元

本书通过大量案例研究介绍数据可视化的基础知识,以及如何利用数据创造出吸引人的、信息量大的、有说服力的故事,进而达到有效沟通的目的。具体内容包括:如何充分理解上下文,如何选择合适的图表,如何消除杂乱,如何聚焦受众的视线,如何像设计师一样思考,以及如何用数据讲故事。一起来看看 《用数据讲故事》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具