Consul-基本概念

Consul 功能要点

Consul 是为应用提供服务发现和配置的工具(不是专门为kv存储设计,这是与数据库最大的区别),官方介绍如下。

Consul has multiple components, but as a whole, it is a tool for discovering and
configuring services in your infrastructure.

  • 服务发现:应用可以发布如api 或 mysql 等服务,并通过Consul clients 发布服务;其他的客户端就可以使用DNS 或 HTTP 通过Consul 发现这些服务。
  • 健康检查:Consul 提供了诸如服务结果("is the webserver returning 200 OK") 或 本地节点 ("is memory utilization below 90%")等健康检查策略。这些信息可以被某些服务用来监控集群健康度,并切除不健康节点上的访问
  • KV 存储:Consul 提供基于HHTP API 的层级式KV存储,用户可以用来提供动态配置、特征标记、协调、leader选举等功能
  • 多数据中心:Consul 提供多数据中心用户为不同服务构建额外的抽象层

Consul 的基础架构要点

细节官网有详尽的描述,不在此处赘述,具体参见:in-depth architecture overview;本节只介绍要点。

  • Consul 是分布式、高可用的服务管理系统。为了放置节点宕机对数据和服务的影响,建议server的数据在3-5个。
  • Consul servers 负责数据的存储,可以对所有的agent进行查询;但是所有的查询最终都会转到server中。
  • Agent 对于KV存储和服务发现而言并不是必须的,它主要功能为本节点的服务健康检查和节点检查(内存等)

你可能感兴趣的:(Consul-基本概念)