博主介绍:
计算机科班人,全栈工程师,掌握C、C#、Java、Python、Android等主流编程语言,同时也熟练掌握mysql、oracle、sqlserver等主流数据库,具有丰富的项目经验和开发技能。提供相关的学习资料、程序开发、技术解答、代码讲解、文档报告等专业服务。
📗软件概述
Consul 是由 HashiCorp 公司开发的一款开源工具,它主要用作服务发现、配置中心和分布式系统的服务治理平台,核心功能包括:
- 服务发现:Consul 提供了服务注册与健康检查机制,使得微服务架构中的各个服务实例能够自动注册到 Consul 中,并通过 DNS 或 HTTP API 实现服务间的互相发现。
- 配置共享与管理:Consul 可以作为配置中心存储和分发配置信息给各个应用节点,支持 KV 存储,允许动态更新配置并在集群中快速传播。
- 健康检查:通过健康检查机制,Consul 能够持续监控服务的健康状态,确保只有健康的实例才能被调用。
- 多数据中心支持:Consul 使用基于 RAFT 协议的强一致性保证,可以实现跨多个数据中心的服务发现和配置同步。
Spring Cloud 是一个为简化在 Java 平台上构建分布式系统的框架,其中包含了一系列子项目来整合云原生应用所需的常见模式和最佳实践。Spring Cloud Consul 是 Spring Cloud 体系中专门用于与 Consul 集成的模块,它可以方便地将 Consul 的服务发现与配置管理能力接入到基于 Spring Cloud 构建的微服务架构中。通过 Spring Cloud Consul,开发者能够轻松地让 Spring Boot 应用程序与 Consul 进行交互,从而实现服务注册与发现、配置管理等功能,大大简化了微服务架构下的服务治理工作。
📗离线部署
📕下载安装包
确认系统架构,我这里x86_64就是AMD64,下载对应安装包,下载地址:https://developer.hashicorp.com/consul/install
[root@localhost ~]# uname -m
x86_64
[root@localhost ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

📕上传解压
上传后,解压到/usr/bin目录
cd /usr/bin
unzip consul_1.20.0_linux_amd64.zip
[root@localhost bin]# unzip consul_1.20.0_linux_amd64.zip
Archive: consul_1.20.0_linux_amd64.zip
inflating: LICENSE.txt
inflating: consul
📕安装验证
[root@localhost bin]# consul -v
Consul v1.20.0
Revision cddc6181
Build Date 2024-10-14T20:52:01Z
Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents)
📕启动consul服务
# 启动命令(后台运行),xxx.xxx.xxx.xx为本机ip
nohup consul agent -dev -ui -node=consul-dev -client=xxx.xxx.xxx.xx &
[root@localhost bin]# nohup consul agent -dev -ui -node=consul-dev -client=192.168.157.136 &
[1] 5881
[root@localhost bin]# nohup: 忽略输入并把输出追加到"nohup.out"
more nohup.out
==> Starting Consul agent...
Version: '1.20.0'
Build Date: '2024-10-14 20:52:01 +0000 UTC'
Node ID: '6ce45c8c-1c03-2a43-e527-f7dc1e7dbb4c'
Node name: 'consul-dev'
Datacenter: 'dc1' (Segment: '<all>')
Server: true (Bootstrap: false)
Client Addr: [192.168.157.136] (HTTP: 8500, HTTPS: -1, gRPC: 8502, gRPC-TLS: 8503, DNS: 8600)
Cluster Addr: 127.0.0.1 (LAN: 8301, WAN: 8302)
Gossip Encryption: false
Auto-Encrypt-TLS: false
ACL Enabled: false
Reporting Enabled: false
ACL Default Policy: allow
HTTPS TLS: Verify Incoming: false, Verify Outgoing: false, Min Version: TLSv1_2
gRPC TLS: Verify Incoming: false, Min Version: TLSv1_2
Internal RPC TLS: Verify Incoming: false, Verify Outgoing: false (Verify Hostname: false), Min Version: TLSv1_2
==> Log data will now stream in as it occurs:
....
📕验证
访问验证:http://192.168.157.140:8500/

📗命令解释
📕Consul代理启动命令解释
nohup consul agent -dev -ui -node=consul-dev -client=xxx.xxx.xxx.xx &
nohup:在终端退出时,继续在后台运行,并将输出重定向到指定文件中。
consul agent:启动Consul的代理进程,它是Consul服务的核心组件,负责服务发现、健康检查以及集群内部的通信和管理。
-dev:表明 Consul 代理将以开发者模式启动。该模式下,Consul将会在单节点内创建一个完整的Consul集群,数据存储在内存中,重启后数据将丢失,适用于快速测试和开发环境。
-ui:开启内置的Web用户界面,这样可以通过浏览器访问Consul提供的管理界面,默认监听在本地8500端口的 /ui 路径下。
-node=consul-dev:设置当前Consul代理节点的名称为consul-dev,用于标识集群中的唯一节点。
-client=xxx.xxx.xxx.xxx:指定Consul代理监听客户端请求的IP地址为xxx.xxx.xxx.xxx,这意味着其他服务或者工具需要通过这个IP地址与Consul代理进行交互,比如注册服务、查询服务等。
&:在命令末尾加上&符号表示让命令在后台运行,一般和nohup配合使用,即以守护进程的方式启动Consul代理,不会阻塞终端的进一步操作。
大家点赞、收藏、关注、评论啦!
更多技术干货,请持续关注程序员大佬超。
原创不易,转载请务必注明出处。
1012

被折叠的 条评论
为什么被折叠?



