• 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();//注册服务  
    
        }
  • 相关阅读:
    epoll精髓【epoll】
    linux下调试core的命令,察看堆栈状态命令 摘录(http://blog.csdn.net/yearn520/article/details/6663265)
    使用epoll 在 linux 上开发高性能应用服务器【epoll】
    linux下epoll如何实现高效处理百万句柄的[转]【epoll】
    log4cplus入门
    非阻塞式服务器和客户端程序(TCP)【简单的原理例子】
    Linux有用的命令记录
    在Linux上的使用开源C++日志库log4cplus
    静态库和动态库的区别
    localtime多线下不安全,localtime_r线程安全
  • 原文地址:https://www.cnblogs.com/myshowtime/p/12461185.html
Copyright © 2020-2023  润新知