环境安装

1、下载consul

官网https://www.consul.io/downloads.html下载对应版本的consul;本文以Windows-64版本为例

2、配置到系统环境变量

C:\Program Files\consul_1.4.2_windows_amd64

3、验证consul

打开命令行,验证consul会看到版本语法等内容

>consul

概要

1.启动代理

agent可以在Server或者Client模式下运行;每个数据中心至少有一个Server模式的代理,建议3-5个防止数据丢失,所有其他代理都以客户端模式运行。客户端是一个非常轻量级的进程,它注册服务,运行运行状况检查,并将查询转发给服务器。代理必须在作为群集一部分的每个节点上运行。

#启动代理,此模式会自动启动一个服务端代理,默认IP节点名等参数
>consul agent -dev

2.查询成员

>consul member -detailed(可选参数)

正常情况下节点只保证最终一致,如果想要强一致

访问HTTP API;

http://localhost:8500/v1/catalog/nodes

可以访问http://localhost:8500看下

3.关闭代理

Ctrl-C可以正常关闭代理,如果强制结束代理进程;正常关闭代理可以正常删除此代理的相关信息;而异常关闭不会删除仅对此代理健康状态做标记

定义服务

#创建配置目录;linux环境约定.d后缀表示“此目录包含一组配置文件”
$ mkdir ./consul.d #比如把80端口的某个Web服务打上标签注册进去
$ echo '{"service": {"name": "web", "tags": ["rails"], "port": 80}}' \
> ./consul.d/web.json #重启服务,加载配置目录
$ consul agent -dev -config-dir=./consul.d

linux环境

、下载
wget https://releases.hashicorp.com/consul/1.4.0/consul_1.4.0_linux_amd64.zip
、解压
unzip consul_1..0_linux_amd64.zip
、移动目录
mv consul /usr/local/bin
、创建服务托管
[Unit]
Description=consul service
[Service]
WorkingDirectory=/usr/local/bin
ExecStart=/usr/local/bin/consul agent -server -bootstrap -ui -datacenter=dc- -data-dir=/tmp/consul/data -client 0.0.0.0 -bind 127.0.0.1
Restart=always
# Restart service after seconds if the dotnet service crashes:
RestartSec=
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install]
WantedBy=multi-user.target
、启动服务
systemctl start consul

官网地址

https://www.consul.io/

Consul概述的更多相关文章

  1. Docker consul的容器服务更新与发现

    Docker consul的容器服务更新与发现 目录 Docker consul的容器服务更新与发现 一.Consul简介 1. 服务注册与发现 2. consul概述 3. consul的两种模式 ...

  2. consul-服务发现、服务隔离、服务配置

    一.服务发现 服务发现组件记录了(大规模)分布式系统中所有服务的信息,其它服务可以据此找到这些服务.DNS 就是一个简单的例子.当然,复杂系统的服务发现组件要提供更多的功能,例如,服务元数据存储.健康 ...

  3. 基于 Consul 的 Docker Swarm 服务发现

    Docker 是一种新型的虚拟化技术,它的目标在于实现轻量级操作系统的虚拟化.相比传统的虚拟化方案,Docker 虚拟化技术有一些很明显的优势:启动容器的速度明显快于传统虚拟化技术,同时创建一台虚拟机 ...

  4. Consul文档简要整理

    什么是Consul? Consul是一个用来实现分布式系统的服务发现与配置的开源工具.他主要由多个组成部分: 服务发现:客户端通过Consul提供服务,类似于API,MySQL,或者其他客户端可以使用 ...

  5. 微服务之consul(一)

    一.概述 consul是google开源的一个使用go语言开发的服务发现.配置管理中心服务.内置了服务注册与发现框 架.分布一致性协议实现.健康检查.Key/Value存储.多数据中心方案,不再需要依 ...

  6. 微服务之consul

    一.概述 consul是google开源的一个使用go语言开发的服务发现.配置管理中心服务.内置了服务注册与发现框 架.分布一致性协议实现.健康检查.Key/Value存储.多数据中心方案,不再需要依 ...

  7. 什么是Consul

    什么是Consul Consul文档简要整理 什么是Consul? Consul是一个用来实现分布式系统的服务发现与配置的开源工具.他主要由多个组成部分: 服务发现:客户端通过Consul提供服务,类 ...

  8. 第 8 章 容器网络 - 058 - flannel 概述

    flannel 概述 flannel 是 CoreOS 开发的容器网络解决方案. flannel 为每个 host 分配一个 subnet,容器从此 subnet 中分配 IP,这些 IP 可以在 h ...

  9. consul集群搭建,配合nginx完成服务动态发现和健康检查

    1.概述 1.1 介绍 consul是一个服务发现和配置共享的服务软件,结合nginx的主动健康检查模块nginx_upstream_check_module和服务发现模块nginx-upsync-m ...

随机推荐

  1. Docker下搭建mongodb副本集

    背景 有需求需要对mongodb做一个容灾备份.根据官网,发现mongodb最新版本(4.0)已经抛弃了主从模式而采用副本集进行容灾.副本集的优势在于:"有自动故障转移和恢复特性,其任意节点 ...

  2. Java 代码读取properties文件

    jdk1.6 package read;import java.io.File;import java.io.FileInputStream;import java.io.IOException;im ...

  3. 十四、i2c子系统

    由于之后的触摸屏驱动分析中使用到了GPIO子系统和i2c子系统,因此在分析触摸屏驱动之前我准备把这两个子系统进行简单分析. 在读者学习本章以及后续i2c相关章节之前,最好了解i2c通信方式,可以参考: ...

  4. 2.ASP.NET Core Docker学习-镜像容器与仓库

    Docker下载 https://www.docker.com/community-edition 社区版 (CE) 下载完后安装,运行 docker --version 可查看版本 基本命令: 下面 ...

  5. Nginx学习笔记(四):基本数据结构

    目录 Nginx的一些特点 Nginx自定义整数类型 异常机制错误处理 内存池 字符串 时间与日期 运行日志   Nginx的一些特点 高性能 采用事件驱动模型,可以无阻塞的处理海量并发连接 高稳定性 ...

  6. rgba()和opacity的比较(转)

    https://blog.csdn.net/u014150409/article/details/44906767

  7. android 自动化测试案例之 MonkeyRunner

    #-*- coding: UTF-8 -*- #上面第一行是设置文件编码,windows下第一行必须是这个#文件名 MonkeyRunner.py#功能: 使用monkey runner测试app,此 ...

  8. 关于微信小程序获取多个formId的实现方法

    在此之前,很多人使用过form和button的多层嵌套来实现点击一次获取多个formId的目的,如下图所示,点击一次“提交”,可以获取到多个formId 但是在今年3月份,这个投机取巧的方法(算是微信 ...

  9. UIApplicationDelegate里面最常用的几个函数执行顺序小结

    (1)点击桌面图标正常启动App或者杀死进程后点击推送消息启动App 1.application:willFinishLaunchingWithOptions 2.application:applic ...

  10. Android获取设备唯一码

    String uuid = ""; String serial = null; String m_szDevIDShort = "35" + Build.BOA ...