zoukankan      html  css  js  c++  java
  • Consul集群

    参考地址:庐山真面目之五微服务架构Consul集群、Ocelot网关和Nginx版本实现 - 可均可可 - 博客园 (cnblogs.com)

                      consul agent:命令头,必须要有。
                      -server表示要启动服务器代理(agent)模式。Consul Agent节点的运行模式有两种,Server模式和Client模式。其区别就是Server模式数据可以持久化到本地,而Client模式不可以。
                      -uiconsul运行后,会提供一个http://127.0.0.1:8500/ui/的网站,里面存储了Consul Agent各个节点以及注册的服务等相关信息,即数据中心的网页形式体现。这个参数代表是否创建这个网站,这个参数与这个数据中心网站有关。
                      -bind本机的IP地址,集群内其他代理服务器可以通过这个IP来访问这台电脑的consul代理服务器。
                      -bootstrap-expect:是集群启动条件,指当服务器端模式(Server模式)的代理达到这个数目后,才开始运行。
                      -data-dir是存放数据中心数据的目录,该目录必须是稳定的,系统重启后也继续存在的。
                      -config-dir:是存放数据中心日志的目录,该目录必须是稳定的,系统重启后也继续存在的。
                      -datacenter:当前Consul的中心数据的名称,默认是dc1。
                      -node节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名(代表一个机器)。
                      -client本地IP地址,这里使用 0.0.0.0 ,就表示这个服务器所有IP都可以,即当这台电脑有俩IP,192.168.1.100和192.168.1.111,那么通过这俩IP都可以访问到这台机器的consul代理服务器。
                      -join表示当前的服务器节点或者是客户端节点要加入集群的服务器,后面跟要加入的服务器的具体IP地址。

    1.搭建集群的脚本,3个server,2个client

    sudo docker run -d --name=node1 --restart=always 
        -e  'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt":true}' 
        -p 8300:8300 
        -p 8301:8301 
        -p 8301:8301/udp  
        -p 8302:8302/udp 
        -p 8302:8302 
        -p 8400:8400 
        -p 8500:8500 
        -p 8600:8600 
        -h node1 
        consul agent -server -bind=0.0.0.0 -bootstrap-expect=3 -node=node1 
        -data-dir=/tmp/data-dir -client 0.0.0.0 -ui
    
    
    sudo docker run -d --name=node2 --restart=always 
        -e  'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt":true}' 
        -p 9300:8300 
        -p 9301:8301 
        -p 9301:8301/udp  
        -p 9302:8302/udp 
        -p 9302:8302 
        -p 9400:8400 
        -p 9500:8500 
        -p 9600:8600 
        -h node2 
        consul agent -server -bind=0.0.0.0 
        -join=192.168.145.130 -node-id=$(uuidgen | awk  '{print tolower($0)}') 
        -node=node2 
        -data-dir=/tmp/data-dir -client 0.0.0.0 -ui
    
    sudo docker run -d --name=node3 --restart=always 
        -e  'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt":true}' 
        -p 10300:8300 
        -p 10301:8301 
        -p 10301:8301/udp  
        -p 10302:8302/udp 
        -p 10302:8302 
        -p 10400:8400 
        -p 10500:8500 
        -p 10600:8600 
        -h node3 
        consul agent -server -bind=0.0.0.0 
        -join=192.168.145.130 -node-id=$(uuidgen | awk  '{print tolower($0)}') 
        -node=node3 
        -data-dir=/tmp/data-dir -client 0.0.0.0 -ui
    
    sudo docker exec -t node1 consul members
    sudo docker exec -t node1 consul operator raft list-peers
    
    sudo docker run -d --name=node4 --restart=always 
        -e  'CONSUL_LOCAL_CONFIG={"leave_on_terminate":true}' 
        -p 11300:8300 
        -p 11301:8301 
        -p 11301:8301/udp  
        -p 11302:8302/udp 
        -p 11302:8302 
        -p 11400:8400 
        -p 11500:8500 
        -p 11600:8600 
        -h node4 
        consul agent  -bind=0.0.0.0 
        -retry-join=192.168.145.130 
        -node-id=$(uuidgen | awk  '{print tolower($0)}') 
        -node=node4 
         -client 0.0.0.0 -ui
    
    
    sudo docker run -d --name=node5 --restart=always 
        -e  'CONSUL_LOCAL_CONFIG={"leave_on_terminate":true}' 
        -p 12300:8300 
        -p 12301:8301 
        -p 12301:8301/udp  
        -p 12302:8302/udp 
        -p 12302:8302 
        -p 12400:8400 
        -p 12500:8500 
        -p 12600:8600 
        -h node5 
        consul agent  -bind=0.0.0.0   -retry-join=192.168.145.130 
        -node-id=$(uuidgen | awk  '{print tolower($0)}') 
        -node=node5  -client 0.0.0.0 -ui
  • 相关阅读:
    miaomiao
    你猜中了
    にあたり等
    厉害的走
    JavaWeb学习 第6章 Servlet和Cookie
    JavaWeb学习 第3章 servlet编程
    BinaryStar代码分析前言
    框架学习之Struts2 第九节 Struts2重要的标签解说
    框架学习之Struts2 第八节 OGNL表达式
    JavaWeb学习 第1章 Web开发工具配置和使用(下)Tomcat的配置
  • 原文地址:https://www.cnblogs.com/kingsmart/p/15322480.html
Copyright © 2011-2022 走看看