• ABC
    2019-06-03

    昨天在整理代码的时候,发现Consul并不会自动删除已经关闭的服务。所以找了相关资料,只需要配置下面的选项即可。

    配置自动取消服务注册

    配置自动取消服务注册(bootstrap.properties文件中设置):

    spring.cloud.consul.discovery.healthCheckCriticalTimeout=10s

    配置之后,如果关闭服务,大概在2分钟左右,服务会被Consul删除。

    另外可以在Consul的Settings中打开自动刷新服务页,这样就可以不用手动刷新页面查看服务列表了,
    展开
     1
     9
  • york
    2019-10-24
    Zookeeper和Consul作为配置中心的两个例子中,OrderProperties.java中,如果不加@RefreshScope注解,配置参数值也能自动更新的,这是由于Zookeeper和Consul的更新机制导致的吗?

    作者回复: 这个问题,我觉得还是需要说一下。ZK和Consul的通知机制带来的好处是我们不需要去访问/refresh,在感知到节点值发生变更后,能自动刷新。这里只是自动触发了Refresh而已。至于你不加@RefreshScope也能生效,是因为这个注解只是把这个Bean放进RefreshScope,加了@ConfigurationProperties的Bean也在RefreshScope里,所以能更新。你可以试试把这两个注解都去掉,值用@Value注入,再看看就知道了。这是个好问题,我也做了些试验翻了些代码才来回答的。

    
     3
  • 知易
    2019-07-12
    windows10 下docker搭建consul单机和集群基础配置如下:
    单机
    # docker获取consul并创建容器的步骤
    # docker pull consul
    # docker run --name consul -d -p 8500:8500 -p 8600:8600/udp consul

    集群
    # 建立consul集群命令步骤
    # 建立第一个容器,并启动第一个consul服务
        # docker run --name consul1 -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600 consul agent -server -bootstrap-expect 2 -ui -bind=0.0.0.0 -client=0.0.0.0
        # 上诉命令字段解析
            #8500 http 端口,用于 http 接口和 web ui
            #8300 server rpc 端口,同一数据中心 consul server 之间通过该端口通信
            #8301 serf lan 端口,同一数据中心 consul client 通过该端口通信
            #8302 serf wan 端口,不同数据中心 consul server 通过该端口通信
            #8600 dns 端口,用于服务发现
            #-bbostrap-expect 2: 集群至少两台服务器,才能选举集群leader
            #-ui:运行 web 控制台
            #-bind: 监听网口,0.0.0.0 表示所有网口,如果不指定默认未127.0.0.1,则无法和容器通信
            #-client : 限制某些网口可以访问
    # 获取第一个容器IP地址
        # docker inspect --format "{{ .NetworkSettings.IPAddress }}" consul1
        # 输出是:172.17.0.2
    # 启动第二个consul服务:consul2, 并加入consul1(使用join命令)
        # docker run --name consul2 -d -p 8501:8500 consul agent -server -ui -bind=0.0.0.0 -client=0.0.0.0 -join 172.17.0.2
    # 启动第三个consul服务:consul3, 并加入consul1(使用join命令)
        # docker run --name consul3 -d -p 8502:8500 consul agent -server -ui -bind=0.0.0.0 -client=0.0.0.0 -join 172.17.0.2
    # .......(同样的步骤,可以启动第四,第五甚至更多的consul服务)
    # 宿主机浏览器访问:http://localhost:8500 或者 http://localhost:8501 或者 http://localhost:8502
    展开
    
     2
  • Terran1942
    2019-07-21
    请教个问题,consul作为配置中心时是否可以定义一个多服务共用的配置?

    作者回复: 是可以的,具体你可以看看Spring Cloud Consul的文档

    
     1
  • 东
    2019-10-17
    这里碰到一个坑,写
    order:
      discount: 65
      waiterPrefix: geektime-
    需要在yml文件中写好复制过去,否则tab键会不识别,程序报错
    `     at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:419) ~[snakeyaml-1.23.jar:na]`
    展开
    
    
  • 又双叒叕是一年啊
    2019-05-19
    请教下老师 consul 和 nacos 集群配置需要如何配置呢,多谢

    作者回复: 这个建议你还是要参考官方文档呢

    
    
我们在线,来聊聊吧