一、Consul安装使用
1.1 what's the consul?
Consul是Go语言编写的一个分布式高可用的服务网格解决方案,提供包括服务发现、配置和分段功能在内的全功能控制平面。它的每个功能都可以单独使用,也可以用它来构建完整的服务网格。
为什么要用它呢?因为Eureka很早之前已经宣布不再维护了,但是还有很多替代Eureka的注册中心,例如Nacos、Zookeeper以及接下来要介绍的Consul。
Consul使用Go语言编写,通过HTTP的方式向外提供服务;支持多数据中心;一致性协议使用的是Raft。这些年来Consul一直在活跃更新中,社区活跃度上很可靠。
1.2 Consul的功能
服务发现:
调用的客户端可以通过DNS或HTTP找到要调用的服务
健康检查:
Consul提供了健康检查机制,从简单的服务端是否可以返回200的响应码到较为复杂的内存使用率是否低于90%
使用Key/value进行存储信息:
接入Consul的应用可以根据需要使用Key/Value进行存储信息。提供了易用的HTTP接口来满足用户的动态配置、特征标记、协调和leader选举等功能
多数据中心:
Consul原生就支持多数据中心。这样用户就不用自己来实现多数据中心
1.3 Consul和Consul UI的安装使用
Consul的安装很简单,因为是用Go语言写的,最后是编译完成是一个可执行的文件。支持Window、macOS、Linux等平台。在官网上选择下载的版本即可:developer.hashicorp.com/consul/down…
下载完成后,解压缩,然后执行,例如下面以开发者模式启动。正常启动Consul集群需要至少启动三个Consul
consul agent -dev
$ ./consul agent -dev ==> Starting Consul agent... Version: '1.15.2' Build Date: '2023-03-30 17:51:19 +0000 UTC' Node ID: 'cd2c39c3-341c-6478-5daf-ab06807d30a8' Node name: 'DESKTOP-ILEN9BL