zoukankan      html  css  js  c++  java
  • 搭建基于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
    
    
  • 相关阅读:
    xsd的解释说明
    SDUT 2498-AOE网上的关键路径(spfa+字典序路径)
    java实现各种数据统计图(柱形图,饼图,折线图)
    软件測试计划模板
    范式图形辨析
    Android做法说明(3)---Fragment使用app袋或v4包解析
    登录同步多个副本如何实现的拷贝数发生变化分布式
    ZOJ1463:Brackets Sequence(间隙DP)
    jquery php 百度搜索框智能提示效果
    Hibernate在关于一对多,多对一双向关联映射
  • 原文地址:https://www.cnblogs.com/heartlifes/p/6971060.html
Copyright © 2011-2022 走看看