zoukankan      html  css  js  c++  java
  • Consul

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

    添加系统变量 Path

    consul agent -server -ui -bootstrap-expect=1 -data-dir=/tmp/consul -node=consul-1 -client=0.0.0.0 -bind=192.168.1.111 -datacenter=dc1

    命令解释如下:

    其实consul命令大家是可以在网络上搜到它们的定义的,不过我觉得解释的还是太官方,所以,我在这里提供了一份我认为更好的解释。

    consul agent:命令头,必须要有。

    -server:表面我们现在要启动服务器代理(agent)是服务模式的。Consul Agent的运行模式有两种,Server模式和Client模式。其区别简单来说就是Server模式的Agent可以被选举为Leader,而Client模式的不可以,当然还有其他区别,有兴趣大家可以自行了解。

    -ui:consul运行后,会提供一个http://127.0.0.1:8500/ui/的网站,里面存储了Consul Agent各个节点以及注册的服务等相关信息,即数据中心的网页形式体现。这个参数代表是否创建这个网站,这个参数与这个数据中心网站有关。

    bind:本机的ip地址,集群内其他代理服务器可以通过这个ip来访问这台电脑的consul代理服务器。

    bootstrap-expect:是集群启动条件,指当服务器端模式(Server模式)的代理达到这个数目后,才开始运行。

    data-dir:是存放数据中心数据的,该目录必须是稳定的,系统重启后也继续存在的。

    datacenter:当前agent的中心数据的名称,默认是dc1。

    node:节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名(代表一个机器)。

    client:本地ip地址,这里使用 0.0.0.0 ,就表示这个服务器所有IP都可以,即当这台电脑有俩ip,192.168.1.111和192.168.1.112,那么通过这俩IP都可以访问到这台机器的consul代理服务器。

    public static void RegisterConsul()
    {
    var consulClient = new ConsulClient( p => { p.Address = new Uri($"http://127.0.0.1:8500"); }); //请求注册的 Consul 地址
    //这里的这个ip 就是本机的ip,这个端口8500 这个是默认注册服务端口
    var httpCheck = new AgentServiceCheck()
    {
    DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(5),//服务启动多久后注册
    Interval = TimeSpan.FromSeconds(10),
    HTTP = $"http://localhost:6005/api/Health",
    Timeout = TimeSpan.FromSeconds(5)
    };

            var registration = new AgentServiceRegistration()
            {
                Checks = new[] { httpCheck },
                ID = Guid.NewGuid().ToString(),
                Name = "PayService",
                Address = "http://localhost/",
                Port = 6005,
    
            };
    
            consulClient.Agent.ServiceRegister(registration).Wait();//注册服务  
    
        }
  • 相关阅读:
    Arcgis javascript api离线开发环境搭建
    hbase基础
    Dojo 之 面向对象(转)
    Linux
    并行计算多线程常见问题
    [转]捕捉DataGridView的单元格编辑时的键事件
    'router' => array( 'routes' => array( 'album' => array( 'type' => 'segment', 'options' => arra
    [疯狂xml讲义]chap4之Schema记录
    [WinForm]DataGridView如何绑定对象的复合属性
    [C#之Ftp]RFC959笔记01
  • 原文地址:https://www.cnblogs.com/myshowtime/p/12461185.html
Copyright © 2011-2022 走看看