Consul 简介
Consul 是 HashiCorp 公司旗下的一个服务网格解决方案,提供了一个功能齐全的控制平面,具有服务发现、配置和分段功能。这些功能中的每一项都可以根据需要单独使用,也可以一起使用来构建一个完整的服务网格。在微服务框架中,经常会使用 Consul 来实现服务注册和发现。
Consul 的服务注册和发现功能有以下特点:
-
基于 Agent,分为 Client 和 Server 两种角色
-
Server 支持分布式、高可用集群部署,支持多集群。集群采用 RAFT 算法,Gossip 协议
-
服务注册支持 Agent 和 HTTP API 两种方式
-
服务发现支持 DNS 和 HTTP API 两种方式
-
支持服务的健康检查
-
自带 Web UI
F5的 MSDA 和 MSRA 工具目前均已支持对接 Consul,接下来就介绍使用方法,后面要用到的 rpm 包可以在以下地址下载。
MSDA下载地址:
https://github.com/ChinaModernAppGroup/msda-consul
MSRA下载地址:
https://github.com/ChinaModernAppGroup/msra-consul
F5 对接 Consul 实现服务发现
我们先搭建一个简单的 Consul 注册中心,并注册一个 web 服务,当前该服务共注册有两个实例。
接下来我们在 F5 上安装 msda-consul 的 iApp.LX 安装包,在下图所示的位置导入 rpm 文件。
接下来使用安装包生成的模板新建一个 iApp.LX 应用。
输入一个 iApp.LX 应用名字,模板选择 msdaconsul。
点击 Next 后依次填入 Consul 服务器的地址、需要发现的服务名称,以及需要在 F5 上生成的 Pool 名称、负载均衡算法、健康检查方法。