快捷搜索:

Consul 之答疑解惑

Consul 有几种模式

consul部署模式有两种,一种用于开发环境,一种用于生产环境。

1)开发模式。-dev 数据会基于内存,重启后注册的服务都会消失。

2)生产模式。-client -server 数据会持久化。

Consul 全部宕机后重启

此时 Leader 会消失,需要重新使用 join 命令加入,选举 Leader 。

宕机前注册的服务会存在。

同一服务可以重复注册吗

在 不同的 Server 可以,同一Server 只能注册一次。

不通同server 可以再此注册。

HTTP 方式注册的服务存储在哪里

开发模式,存储内存中 生产模式,在 data/servies 目录下

Consul 注册的服务是否会持久化

开发模式,注册的服务数据存储在内存,没有持久化

生产模式,http 方式注册的服务都会被持久化到 servers 目录

Consul 注册的服务数据在集群中每个 Server 都一样吗

Consul 是以 server1 + server2 + serverN 组成一个完整的功能。

    HTTP 方式 不一样,http 方式,注册在哪台服务器,服务数据之后存储在,被注册的服务器。 当被注册的服务器宕机,在集群中在此台注册的服务会从列表消失。 服务被重启,注册的服务会重新加载到,服务列表(数据被持久化)。 JSON 方式 如果采用 json 文件形式注册,每个 server 的服务配置文件一样,则会重复注册服务。

服务注册 JSON 方式和 HTTP 方式共存吗

共存

生产模式下,两者结合,htpp 方式依旧会持久化到 services 目录下。

使用风险

集群再选举 leader 时,写入功能不可用。

Consul 与 Eureka 不同

Eureka 是集中式的心跳机制,让各个服务都必须每隔一定时间发送心跳到Eureka Server。如果一段时间没收到心跳,那么就认为这个服务宕机了。

Consul基于Agent实现的分布式健康检查机制,可以大幅度的减小Server端的压力。

集中式的心跳机制会对Eureka Server造成较大的心跳请求压力,实际上平时Eureka Server接收最多的请求之一就是成千上万服务发送过来的心跳请求。

Consul服务注册与服务发现机制

经验分享 程序员 微信小程序 职场和发展