Consul介绍:什么是Consul & 与其他软件的比较

简介: Consul介绍 什么是consul Consul是一个服务网格解决方案,提供了一个功能齐全的控制台、具有服务注册发现、配置中心和分段功能。Consul的每一个特性既可以根据需要单独使用,又可以一起使用来构建完成的服务网格。

Consul介绍

什么是consul

Consul是一个服务网格解决方案,提供了一个功能齐全的控制台、具有服务注册发现、配置中心和分段功能。Consul的每一个特性既可以根据需要单独使用,又可以一起使用来构建完成的服务网格。Consul拥有一个数据层且支持代理和本地集成模型。Consul提供了一个简易的内置代理以方便开箱即用,同事也支持第三方代理集成例如[Envoy](https://www.envoyproxy.io)。

关键特性:


1. 服务发现:客户端可以通过Consul注册一个服务,例如 api 或 mysql,并且其他客户端可以通过Consul发现服务提供者。通过DNS或HTTP,应用程序可以方便的找到她们依赖的其他服务。  
2. 健康检查:Consul客户端可以提供任意数量的健康状况检查,这些检查要么与给定的服务相关(“web服务器是否返回200 OK”),要么与本地节点相关(“内存利用率是否低于90%”)。管理员可以使用这些信息监视群集运行状况,服务发现组件也可以使用此信息将请求路由到远离不健康的主机。
3. KV存储:应用程序可以将Consul的KV存储用于任何目的,包括动态配置、功能标记、协调、leader选举等。并提供了简易的HTTP API使其易于使用。 
4. 安全机制:Consul可以生成和颁发服务的TLS证书,以建立TLS连接。原型(Intentions)是定义允许哪些服务进行通信。使用可以随时变更的Intentions,而不是使用复杂的网络拓扑和静态防火墙规则,可以轻松地管理服务分段。
5. 多数据中心:Consul提供开箱即用的多数据中心支持。这意味着Consul的用户不必担心构建额外的抽象层来应对多区域中心扩展。

Consul的设计对DevOps社区和应用开发人员都非常友好,非常适合现代的、弹性的基础设施。

基础架构:


Consul是一个分布式,高可用系统。本节只覆盖Consul的基本概念,更多的细节请[点击](https://www.consul.io/docs/connect/intentions.html)

架构图


Consul提供服务的每个节点都运行着一个consul代理。发现其他服务或获取/设置密钥/值数据不需要运行代理。代理负责检查节点上的服务以及节点本身的运行状况。
代理与一到多个Consul服务对话。Consul服务负责数据存储和复制,这些服务选举出一个leader(raft)。虽然Consul可以在一台服务器上运行,但建议使用3到5台服务器避免鼓掌导致数据丢失。每个数据中心建议搭建一套Consul集群。
基础设施中的组件通过任何Consul服务器或其代理可以访问到其他服务或检点。代理会将请求路由到Consul服务器。
每一个数据中心运行着一个Consul集群。当发起一个跨数据中心服务发现或配置变更,本地Consul服务器会转发请求到远程数据中心并返回结果。

vs. 其他软件

类型 CAP 集成 KV存储 健康检查 安全 多数据中心支持 一致性
zookeeper CP SDK 支持 长连接,keepalive ACL NO Paxos
doozerd CP sdk 支持 -- -- NO Paxos
etcd CP http/grpc 支持 连接心跳 https支持(弱) NO raft
consul CP http/dns 支持 服务状态,内存,硬盘等 https/acl 支持 raft
相关文章
|
存储 XML JSON
consul 简易上手指南
consul 是一个用来做服务发现的框架,具有分布式、高可用以及可横向扩展的特性
|
Windows
『Consul』Consul数据持久化配置并且注册为Windows服务
📣读完这篇文章里你能收获到 - Consul数据持久化配置并且注册为Windows服务
1252 0
『Consul』Consul数据持久化配置并且注册为Windows服务
|
存储 网络协议 Java
Consul服务注册与发现
Consul是一种服务网格解决方案,提供具有服务发现,配置和分段功能的全功能控制平面。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建完整的服务网格。Consul需要一个数据平面,并支持代理和本机集成模型。Consul附带了一个简单的内置代理,因此一切都可以直接使用,还支持Envoy等第三方代理集成。
1918 0
Consul服务注册与发现
|
网络协议 算法 Java
04SpringCloud 之 Consul 简介
04SpringCloud 之 Consul 简介
77 0
|
算法 网络协议 数据中心
05SpringCloud - Consul常用命令
05SpringCloud - Consul常用命令
51 0
|
6月前
Consul安装教程和注册
Consul安装教程和注册
74 0
|
Java Linux 网络安全
05SpringCloud - Consul 环境搭建
05SpringCloud - Consul 环境搭建
44 0
|
JSON 算法 数据中心
consul介绍与安装
Consul是一个微服务管理软件。支持多数据中心下,分布式高可用的,服务发现和配置共享。采用 `Raft 算法`,用来保证服务的高可用。
189 0
consul介绍与安装
|
Java Shell 网络安全
consul安装启动流程
consul安装启动流程
340 0