• 搭建基于consul,registrator,nsq的GO体系Docker开发环境


    原文及更多文章请见个人博客:http://heartlifes.com

    使用GO作为生产服务开发语言,避免不了与以下几大基础组件打交道,他们分别是:

    consul,registrator,nsq

    consul

    Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,通常用于docker 实例的注册与配置共享

    registrator

    Registrator 去除了需要手动管理Consul服务条目的复杂性,它监视容器的启动和停止,根据容器暴露的端口和环境变量自动注册服务。

    nsq

    NSQ是一个基于Go语言的分布式实时消息平台

    基于Docker容器的组件搭建

    以上组件都提供了官方docker镜像,我们只需要拉取镜像启动即可,以下提供组件使用命令,可供单机开发使用,复杂如consul组集群等,不在此讨论

    consul启动命令
    docker stop dev-consul
    docker rm dev-consul
    docker run -d --name=dev-consul -p 8400:8400 -p 8500:8500/tcp -p 8600:53/udp -e 'CONSUL_LOCAL_CONFIG={"bootstrap_expect":1,"datacenter":"dc1","data_dir":"/usr/local/bin/consul.d/data","server":true}' consul agent -server -bind=127.0.0.1 -client=0.0.0.0
    

    bind为服务发布地址,默认为网卡发布,否则可能只发布到容器内部ip

    registrator启动命令
    docker stop registrator
    docker rm registrator
    docker run -d --restart=always --name=registrator 
    -v /var/run/docker.sock:/tmp/docker.sock 
    gliderlabs/registrator:latest -ip yourip  consul://yourip:8500
    

    其中ip地址为该服务器ip地址,主动申明的目的在于防止registrator自动将127.0.0.1本地回环作为对外暴露的ip地址注册到consul上。

    nsq启动命令
    
    nsqlookupd:
    docker run -d --restart=always --name lookupd 
    -p 4160:4160 
    -p 4161:4161 
    nsqio/nsq /nsqlookupd
    
    nsqd:
    docker run -d --restart=always --name nsqd 
    -p 4150:4150 
    -p 4151:4151 
    nsqio/nsq /nsqd --broadcast-address=yourip --lookupd-tcp-address=yourip:4160
    
    nsqadmin:
    docker run -d --restart=always --name nsqadmin 
    -p 4171:4171 
    nsqio/nsq /nsqadmin --lookupd-http-address=yourip:4161
    
    
  • 相关阅读:
    要素图层的介绍
    网络场景图WebScene介绍
    网络地图WebMap介绍
    信息窗口介绍
    图层Layers的介绍
    地图底图的类型——MapView,SceneView
    滑动效果实现
    关于计时器的js函数
    C#操作session的类实例(转)
    placeholder效果
  • 原文地址:https://www.cnblogs.com/heartlifes/p/6971060.html
Copyright © 2020-2023  润新知