【微服务】搭建Consul集群服务和Consul配置中心

news/2024/10/17 1:28:43/

文章目录

  • 一、传统配置文件的弊端
  • 二、微服务配置中心
  • 三、主流的配置中心
  • 四、Consul 配置操作
    • 1.添加配置信息
    • 2.获取配置信息
  • 五、单点服务器Consul集群

一、传统配置文件的弊端

  • 静态化配置,例如env文件
  • 配置文件无法区分环境
  • 配置文件过于分散
  • 历史版本无法查看

配置中心如何解决的呢?
配置中心的思路是把项目中的配置参数全部放在一个集中的地方来管理,并提供一套标准的接口,当各个服务需要获取配置的时候就来拉取信息,当配置中心有更新的时候,也能通知其他服务,实时同步最新消息。

二、微服务配置中心

  • 配置信息的管理
  • 配置信息的查看、读取、更新等,完善的Api管理界面
  • 高可用、权限管理等功能

三、主流的配置中心

  • Apollo是由携程开源的分布式配置中心
  • Spring Cloud Config
  • Consul

四、Consul 配置操作

1.添加配置信息

在这里插入图片描述

2.获取配置信息

GET http://192.168.88.144:8500/v1/kv/mic/pro/pro
[{"LockIndex":0,"Key":"mic/pro/pro","Flags":0,"Value":"ewoJImhvc3QiOiIxMjcuMC4wLjEiLAogICJwcm90IjogMzMwNiwKICAidXNlciI6InRlc3QiLAogICJwd2QiOiIxMjcuMC4wLjEiCn0=","CreateIndex":473,"ModifyIndex":473}
]

五、单点服务器Consul集群

补充一下单点服务器Consul集群的步骤,我的虚拟机ip 192.168.88.144,配置3个节点, Consul v1.12.1

server01@server01-virtual-machine:~$ consul version
Consul v1.12.1
wget https://releases.hashicorp.com/consul/1.12.1/consul_1.12.1_darwin_arm64.zip
unzip consul_1.12.1_darwin_arm64.zip
mv consul /usr/local/bin/consul

目录:

├── client1
├── client2
├── condifg
├── data
├── server1
│   ├── basic.json
│   ├── data
│   ├── log
│   └── nohup.out
├── server2
│   ├── basic.json
│   ├── data
│   ├── log
│   └── nohup.out
└── server3├── basic.json├── data├── log└── nohup.out

server1 basic.json详细参数,执行命令consul agent -config-dir=/home/server01/soft/consul/server1/basic.json

{"bind_addr":"127.0.0.1","client_addr":"0.0.0.0","ports":{"http":8500,"dns":8600,"serf_lan":8011,"serf_wan":8002,"server":8700},"datacenter":"dc1","data_dir":"/home/server01/soft/consul/server1/data","log_level":"INFO","log_file":"/home/server01/soft/consul/server1/log/consul.log","node_name":"consul-server-1","disable_host_node_id":true,"server":true,"ui":true,"bootstrap_expect":3,"rejoin_after_leave":true,"retry_join":["127.0.0.1:8011","127.0.0.1:8101","127.0.0.1:8201"]
}

server2 basic.json详细参数,执行命令consul agent -config-dir=/home/server01/soft/consul/server2/basic.json

{"bind_addr":"127.0.0.1","client_addr":"0.0.0.0","ports":{"http":8501,"dns":8601,"serf_lan":8111,"serf_wan":8102,"server":8701},"datacenter":"dc1","data_dir":"/home/server01/soft/consul/server2/data","log_level":"INFO","log_file":"/home/server01/soft/consul/server2/log/consul.log","node_name":"consul-server-2","disable_host_node_id":true,"server":true,"ui":true,"bootstrap_expect":3,"rejoin_after_leave":true,"retry_join":["127.0.0.1:8011","127.0.0.1:8111","127.0.0.1:8211"]
}

server3 basic.json详细参数,执行命令consul agent -config-dir=/home/server01/soft/consul/server3/basic.json

{"bind_addr":"127.0.0.1","client_addr":"0.0.0.0","ports":{"http":8502,"dns":8602,"serf_lan":8211,"serf_wan":8202,"server":8702},"datacenter":"dc1","data_dir":"/home/server01/soft/consul/server3/data","log_level":"INFO","log_file":"/home/server01/soft/consul/server3/log/consul.log","node_name":"consul-server-3","disable_host_node_id":true,"server":true,"ui":true,"bootstrap_expect":3,"rejoin_after_leave":true,"retry_join":["127.0.0.1:8011","127.0.0.1:8111","127.0.0.1:8211"]
}

在这里插入图片描述


http://www.ppmy.cn/news/51222.html

相关文章

COIG:首个大规模、可商用的中文开源指令数据!

文 | ZenMoore ChatGPT 出现后的这几个月,整个学界和业界的疯狂想必大家都已经看到了。 然而,在背各种各样的动物还有山海经怪兽的英语单词的时候,其实不妨停下来想一想复现中文 ChatGPT 到底缺什么?缺大模型吗?缺工程…

JavaSE 09 File 类 IO 流 - Part 01

文章目录 概览File 类概述和构造方法创建功能判断和获取功能删除功能递归案例:遍历目录IO 字节流IO 流概述和分类IO 流概述IO 流分类写数据写数据的三种方式写数据的两个问题写数据加异常处理读数据一次读一个字节数据一次读一个字节数组的数据案例一:复制文件内容案例二:复…

HJ68 成绩排序【python3】

题目描述 给定一些同学的信息(名字,成绩)序列,请你将他们的信息按照成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack…

English Learning - L2-15 英音地道语音语调 语音语调四步法 2023.04.17 周一

English Learning - L2-15 英音地道语音语调 语音语调 2023.04.17 周一 语调概念和汉语拼音对比 语音语调四步法语调练习意群划分重音重中之重语调的选择 语调的含义 语调概念 广义:语音技巧,连读,失去爆破,音同化,还…

chrome 浏览器在 112 正式版本以及 114 canary 版本从 devtools 控制台复制文本不会复制高亮显示的文本?

问题 我的 chrome 浏览器版本如下:版本 112.0.5615.138(正式版本) (64 位) 今天我在写代码的时候报错了,看了一下控制台浏览器,是某个属性没有定义,然后我双击这个属性名称 ctrl c…

C++桥接模式大解析:轻松设计与实现高效软件架构

目录标题 桥接模式简介(Introduction to the Bridge Pattern1.1. 设计模式概述(Overview of Design Patterns)1.2. 桥接模式的定义(Definition of the Bridge Pattern)1.3. 桥接模式的用途(Purpose of the …

如何确定NetApp FAS存储系统是否正常识别到了boot device?

近期处理了几个NetApp FAS存储控制器宕机的案例,其中部分有代表性的就是其实控制器并没有物理故障,问题是控制器里面的boot device的SSD盘出现了问题。这里给大家share一下如何确定系统是否成功识别到了boot device设备。 对于很多非专业人士来说&#…

【C进阶】-- 动态内存管理

目录 1. 为什么存在动态内存分配❓ 2. 动态内存函数的介绍 2.1 malloc和free✅ ①申请:1️⃣ ②使用:2️⃣ ③释放:3️⃣ 2.2 calloc 🧨与malloc的区别: 2.3 realloc 3.常见的动态内存错误 3.1 对NULL指针的解引用操作 &#x1f3…