Consul 介绍

Consul是一个分布式、高可用性,在基础设施中发现和配置服务的工具。

主要功能


  • 服务发现
  • 通过DNS或HTTP接口使得消费者发现服务,应用程序可以轻松找到所依赖的服务。

  • 健康检查
  • 防止将请求转发不健康的主机。

  • 键值存储
  • 可以使用分层键/值存储,比如功能标记、动态配置等。

  • 多数据中心
  • 开箱即用,不需要复杂的配置。这就意味这不用建立抽象的逻辑来扩展多个地区。

1)Consul agent是Consul核心工作,分为client和server两种工作模式。

  1. 默认以client模式运行,提供服务注册、健康检查、转发查询给server leader。
  2. server模式启动时使用-server选项指定,用于维护Consul集群状态、Raft协议进行选举。

2)agent必须在每个Consul节点运行,所有运行Consul agent节点构成Consul集群。

3)官方建议Consul集群至少3或5个节点运行Consul agent server模式,client节点不限。

4)通过join或rejoin选项加入集群。一旦加入,集群信息使用gossip算法同步到整个集群节点。


Consul集群部署

如图,左边三台Consul agent server 集群通过选举,选出一台Leader。来管理右边的client。获取集群状态信息。

Consul agent server-bootstrap自动选举本机为Leader。管理台client。获取集群信息。

Consul高可用

  • 3台允许坏1台
  • 5台允许坏2台

Consul 介绍的更多相关文章

  1. .Net微服务实践(五)[服务发现]:Consul介绍和环境搭建

    目录 介绍 服务发现 健康检查.键值存储和数据中心 架构 Consul模式 环境安装 HTTP API 和Command CLI 示例API介绍 最后 在上篇.Net微服务实践(四)[网关]:Ocel ...

  2. consul介绍

    consul 是一个支持多数据中心分布式高可用,用于服务发现和配置共享的工具. consul与其它工具的不同,官方介绍如下: https://www.consul.io/intro/vs/index. ...

  3. 服务注册发现consul之一:consul介绍、安装、及功能介绍

    Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发.它具有很多优点.包括:基于 raft 协议,比较简洁: 支持健康检查, 同时支持 HTTP 和 ...

  4. SpringCloud(二)- Consul介绍、安装、使用

    唯能极于情,故能极于剑有问题或错误请及时联系小编或关注小编公众号 “CodeCow”,小编一定及时回复和改正,期待和大家一起学习交流 此文由四部分组成(Consul简介.安装.实操.总结),别着急,慢 ...

  5. Spring Cloud Consul入门

    1. Consul介绍 Consul是一套开源的分布式服务发现和配置管理系统,支持多数据中心分布式高可用.Consul是HashiCorp( Vagrant的创建者)开发的一个服务发现与配置项目,用G ...

  6. 8分钟学会Consul集群搭建及微服务概念

    Consul介绍: Consul 是由 HashiCorp 公司推出的开源软件,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与 ...

  7. [翻译] 如何在 ASP.Net Core 中使用 Consul 来存储配置

    [翻译] 如何在 ASP.Net Core 中使用 Consul 来存储配置 原文: USING CONSUL FOR STORING THE CONFIGURATION IN ASP.NET COR ...

  8. springcloud(十三):Eureka 2.X 停止开发,但注册中心还有更多选择:Consul 使用详解

    在上个月我们知道 Eureka 2.X 遇到困难停止开发了,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka 1.X 系列,另一方面 Spring Cloud 支持很多服务发现的软件, ...

  9. consul配置和使用

    一:consul介绍 consul用于提供服务发现和服务配置的工具.有以下特性:1. 服务发现 consul的客户端提供一个服务,比如api或者mysql,另外一个客户端就可以去发现指定服务的服务提供 ...

随机推荐

  1. hue 记录

    No databases are available. Permissions could be missing. Could not start SASL: Error in sasl_client ...

  2. java基础---->String和MessageFormat的format方法

    这里介绍一下String和MessageFormat中的format方法的差异以及实现原理. String与MessageFormat的说明 一.两者的使用场景 String.format:for l ...

  3. 【Jenkins】Jenkins安装

    下载rpm包 wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.7.3-1.1.noarch.rpm 安装 rpm -ivh jenkins ...

  4. Android学习:代码控制UI界面示例

    package allegro.test2; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; im ...

  5. thinphp5框架遇到 mkdir() Permission denied 解决办法

    网站重装 直接复制本地程序文件 里面数据库链接信息要改成线上的 然后mysql apache 等都没有动 运行后出现错误 mkdir() Permission denied 这是由于runtime目录 ...

  6. layui---表单验证

    使用layui,使用它的表单验证也是比不可少的,下面就来总结下: <!-- 不用form 用div也可以 --> <form class="layui-form" ...

  7. nodejs electron 创建桌面应用

    //首先安装cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org //使用cnpm进行安装,使用方法和npm相同 cn ...

  8. maven的安装及试用

    安装包准备: jdk-7u79-linux-x64.rpmapache-maven-3.5.3-bin.tar.gz 安装: rpm -ihv jdk-7u79-linux-x64.rpmtar -x ...

  9. Nestjs 增加全局前缀

    文档 const app = await NestFactory.create(AppModule); app.setGlobalPrefix('v1'); // http://localhost:5 ...

  10. hdu 4544——消灭兔子

    游戏规则很简单,用箭杀死免子即可.  箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子造成伤害,对应的伤害值分别为Di(1 <= i <= M),每种箭需要一定的QQ币 ...