consul注册中心高可用集群的搭建经验

本文详细介绍了如何搭建Consul注册中心高可用集群,包括Consul的基础架构、端口配置、集群搭建步骤以及在Linux上的防火墙设置。通过Consul的配置和使用,确保服务发现和健康检查的稳定性和可靠性。文中还讨论了多数据中心的交互,并提出了在不同场景下的集群故障恢复策略。
摘要由CSDN通过智能技术生成

consul简介

Consul包含多个组件,但是作为一个整体,为你的基础设施提供服务发现和服务配置的工具.他提供以下关键特性:

1.服务发现: Consul的客户端可用提供一个服务,比如 api 或者mysql ,另外一些客户端可用使用Consul去发现一个指定服务的提供者.通过DNS或者HTTP应用程序可用很容易的找到他所依赖的服务.

2.健康检查: Consul客户端可用提供任意数量的健康检查,指定一个服务(比如:webserver是否返回了200 OK 状态码)或者使用本地节点(比如:内存使用是否大于90%). 这个信息可由operator用来监视集群的健康.被服务发现组件用来避免将流量发送到不健康的主机.
3.Key/Value存储: 应用程序可用根据自己的需要使用Consul的层级的Key/Value存储.比如动态配置,功能标记,协调,领袖选举等等,简单的HTTP API让他更易于使用.

4.多数据中心: Consul支持开箱即用的多数据中心.这意味着用户不需要担心需要建立额外的抽象层让业务扩展到多个区域.
Consul面向DevOps和应用开发者友好.是他适合现代的弹性的基础设施.
在这里插入图片描述

基础架构

在这里插入图片描述
每个提供服务给Consul的阶段都运行了一个Consul agent . 发现服务或者设置和获取 key/value存储的数据不是必须运行agent.这个agent是负责对节点自身和节点上的服务进行健康检查的.

Agent与一个和多个Consul Server 进行交互.Consul Server 用于存放和复制数据.server自行选举一个领袖.虽然Consul可以运行在一台server , 但是建议使用3到5台来避免失败情况下数据的丢失.每个数据中心建议配置一个server集群.

你基础设施中需要发现其他服务的组件可以查询任何一个Consul 的server或者 agent.Agent会自动转发请求到server .

每个数据中运行了一个Consul server集群.当一个跨数据中心的服务发现和配置请求创建时.本地Consul Server转发请求到远程的数据中心并返回结果.

consul的搭建和配置

consul官网为我们提供了zip用于consul的安装,其加压后是一个可以直接运行的文件,非常方便

*consul解压即用

   unzip consul_1.4.3_linux_amd64.zip

在这里插入图片描述
*需要开放的端口8300 8301 8500 8600
8300:服务端RPC,TCP。
8301:Serl LAN:处理LAN gossip,TCP UDP。
8302:Serl WAN:处理LAN gossip,TCP UDP。
8500:HTTP API,TCP.
8600:DNS,TCP,UDP

来来来,LINUX命令不熟的同学:centOS7 开放端口的两种方式:

第一种方式
1.开放端口命令: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

2.保存开放的端口:/etc/rc.d/init.d/iptables save

3.重启服务:/etc/init.d/iptables restart

4.查看端口是否开放:/sbin/iptables -L -n

第二种方式(推荐):
1.firewall-cmd --get-active-zones 查看可用active空间

2.firewall-cmd --zone=public --add-port=xxxx/tcp --permanent 开启指

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值