📜  领事-简介

📅  最后修改于: 2020-11-01 03:03:03             🧑  作者: Mango


Consul是基于Hashicorp的工具,用于发现和配置基础架构中的各种不同服务。它基于Golang构建。构建Consul的核心原因之一是维护分布式系统中存在的服务。 Consul提供的一些重要功能如下。

  • 服务发现-使用DNS或HTTP,应用程序可以轻松找到它们依赖的服务。

  • 健康检查状态-它可以提供任意数量的健康检查。服务发现组件使用它来将流量路由到运行状况不佳的主机之外。

  • 密钥/值存储库-可以将Consul的分层密钥/值存储库用于多种目的,包括动态配置,功能标记,协调,领导者选举等。

  • 多数据中心部署-Consul支持多个数据中心。它用于构建其他抽象层以扩展到多个区域。

  • Web UI -Consul为用户提供了漂亮的Web界面,通过它可以轻松使用和管理consul中的所有功能。

服务发现

服务发现是Consul最重要的功能之一。它定义为检测不同服务和发现服务所使用的网络协议。服务发现的使用是分布式系统的福音。随着环境中分布式系统的发展,这是当今大型工业所面临的主要问题之一。

与Etcd和Zookeeper的比较

当我们查看此域中的其他服务发现工具时,我们有两个流行的选择。过去,软件行业的一些主要参与者一直在使用它。这些工具是EtcdZookeeper

让我们考虑下表以比较每种工具的不同方面。我们还将了解他们每个人在内部使用的内容。

Properties Consul Etcd Zoo Keeper
User Interface Available
RPC Available Available
Health Check HTTP API HTTP API TCP
Key Value 3 Consistency modes Good Consistency Strong Consistency
Token System Available
Language Golang Golang Java

领事-成员和代理

领事成员可以定义为部署领事群集的不同代理和服务器模式的列表。领事为我们提供了命令行功能,通过它可以轻松列出与领事相关的所有代理。

领事代理是领事的核心过程。代理维护成员资格信息,注册服务,运行检查,响应查询等。任何代理都可以以下两种模式之一运行: ClientServer 。可以根据使用领事时决定的作用来使用这两种模式。领事代理通过向我们提供以下信息为您提供帮助。

  • 节点名称-这是计算机的主机名。

  • 数据中心-代理配置在其中运行的数据中心。必须将每个节点配置为向其数据中心报告。

  • 服务器-指示代理是在服务器模式还是客户端模式下运行。服务器节点参与共识仲裁,存储集群状态并处理查询。

  • 客户端地址-这是代理用于客户端接口的地址。它包括HTTP,DNS和RPC接口的端口。

  • Cluster Addr-这是用于集群中Consul代理之间通信的地址和端口集。所有其他节点都必须可以访问此地址。

在下一章中,我们将了解Consul的体系结构。