Windows单电脑部署Consul集群

1.下载Consul-windows版本。

下载地址:https://www.consul.io/downloads.html

选择对应的windows版本即可。

2.准备配置文件,其中包括三个server和一个client,

注意其中node_name 需唯一,ui指定是否启动可视化页面,server区分server与client

server1:

{
  "datacenter": "dc1",
  "data_dir": "D:\\mayt\\software\\consul\\node1",
  "log_level": "INFO",
  "server": true,
  "node_name": "node1",
  "ui": true,
  "bind_addr": "127.0.0.1",
  "client_addr": "127.0.0.1",
  "advertise_addr": "127.0.0.1",
  "bootstrap_expect": 2,
  "ports":{
    "http": 8500,
    "dns": 8600,
    "server": 8300,
    "serf_lan": 8301,
    "serf_wan": 8302
    }
}

server2:

{
  "datacenter": "dc1",
  "data_dir": "D:\\mayt\\software\\consul\\node2",
  "log_level": "INFO",
  "server": true,
  "node_name": "node2",
  "bind_addr": "127.0.0.1",
  "client_addr": "127.0.0.1",
  "advertise_addr": "127.0.0.1",
  "bootstrap_expect": 2,
  "ports":{
    "http": 8510,
    "dns": 8610,
    "server": 8310,
    "serf_lan": 8311,
    "serf_wan": 8312
    }
}

server3:

{
  "datacenter": "dc1",
  "data_dir": "D:\\mayt\\software\\consul\\node3",
  "log_level": "INFO",
  "server": true,
  "node_name": "node3",
  "bind_addr": "127.0.0.1",
  "client_addr": "127.0.0.1",
  "advertise_addr": "127.0.0.1",
  "bootstrap_expect": 3,
  "ports":{
    "http": 8520,
    "dns": 8620,
    "server": 8320,
    "serf_lan": 8321,
    "serf_wan": 8322
    }
}

client1:

{
  "datacenter": "dc1",
  "data_dir": "D:\\mayt\\software\\consul\\client1",
  "log_level": "INFO",
  "node_name": "client1",
  "bind_addr": "127.0.0.1",
  "client_addr": "127.0.0.1",
  "advertise_addr": "127.0.0.1",
  "ports":{
    "http": 8530,
    "dns": 8630,
    "server": 8330,
    "serf_lan": 8331,
    "serf_wan": 8332
    }
}

3.启动实例

consul agent -ui -bootstrap-expect=3 -config-file=D:\mayt\software\consul\service1.json -datacenter=dc1

consul agent -bootstrap-expect=3 -config-file=D:\mayt\software\consul\service2.json -datacenter=dc1 -join=127.0.0.1:8301

consul agent -bootstrap-expect=3 -config-file=D:\mayt\software\consul\service3.json -datacenter=dc1 -join=127.0.0.1:8301

consul agent  -client=0.0.0.0 -config-file=D:\mayt\software\consul\client1.json -node=consul-client-1  -join=127.0.0.1:8301

分别启动四个实例,启动完成后可在server1中ui中查看状态

http://127.0.0.1:8500/ui/dc1/nodes

如图可看到节点共有四个,通过consul查看实例,三个为server,一个为client

4.启动微服务注册到对应consul,此处选择了两个服务,分别注册于node1和node2,即8500端口和8510端口

debug: true
server:
  port: 24543
spring:
  cloud:
    consul:
      host: 127.0.0.1
      port: 8510
      discovery:
        register: true
        serviceName: ${spring.application.name}
        healthCheckPath: /actuator/health
        healthCheckInterval: 15s
        tags: ma-/${spring.application.name}
        instanceId: ${spring.application.name}:${vcap.application.instance_id:${spring.application.instance_id:${random.value}}}
debug: true
server:
  port: 24544
spring:
  cloud:
    consul:
      host: 127.0.0.1
      port: 8500
      discovery:
        register: true
        serviceName: ${spring.application.name}
        healthCheckPath: /actuator/health
        healthCheckInterval: 15s
        tags: ma-/${spring.application.name}
        instanceId: ${spring.application.name}:${vcap.application.instance_id:${spring.application.instance_id:${random.value}}}

启动后可以在consul页面中查看

node1信息:

node2信息:

至此完成。

注意:当注册节点挂掉之后,在此节点注册的微服务讲不可用。即如果node1挂掉,其他服务将无法调用node1注册的ma-spring-consumer服务。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章