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服務。

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