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. LeetCode - 498. Diagonal Traverse

    Given a matrix of M x N elements (M rows, N columns), return all elements of the matrix in diagonal ...

  2. Ext Js 6+ 如何引入dashboard模版

    最近很多人问我在ext js 6+的版本中怎么引入官方的dashboard模版,正好我好久没写博客了,这里我写一篇博客来说明一下. 在这里以ext js 6.2.1版本为例(注:需要安装Sencha ...

  3. Linux服务器性能分析与调优

    一 linux服务器性能查看 1.1 cpu性能查看 1.查看物理cpu个数: cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc ...

  4. git 创建新分支并推送到远程分支

      git branch test git checkout test git push origin test:test git branch --set-upstream-to origin/te ...

  5. react material-ui 添加jss插件

    jss.config.js import { create } from "jss"; import preset from "jss-preset-default&qu ...

  6. 为 git设置代理

    普通设置 git config --global http.proxy 'socks5://127.0.0.1:1080'git config --global https.proxy 'socks5 ...

  7. VLAN之间通信-三层交换

    实验目的 VLAN之间通信-三层交换 掌握配置VLANIF接口的方法 理解数据包跨VLAN路由的原理 掌握测试多层交换网络连通性的方法 实验原理 三层交换机在原有二层交换机的基础之上增加了路由功能,同 ...

  8. DATEADD日期函数的使用

    在当前日期加上几天:https://www.cnblogs.com/shitaotao/p/7648198.html 计算本月的第一天:https://www.cnblogs.com/lcyuhe/p ...

  9. mysql-proxy 简介

    # 背景 今天同事分享的主题就是mysql-proxy,于是下来自己了解下,不求精通,只求知道这个玩意 # 简介 mysql-proxy是mysql官方提供的mysql中间件服务,上游可接入若干个my ...

  10. Qt自定义界面

    https://blog.csdn.net/zhangxiaoyu_sy/article/details/78925221