传统配置文件的弊端

  • 静态化配置,例如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"]
}

微服务 - 搭建Consul集群服务,Consul配置中心相关推荐

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

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

  2. 运维小姐姐说这篇Consul集群和ACL配置超给力(保姆级)

    前言 上一篇简单介绍了Consul,并使用开发模式(dev)进行流程演示,但在实际开发中需要考虑Consul的高可用和操作安全性,所以接着来聊聊集群和ACL的相关配置,涉及到的命令会在环境搭建过程中详 ...

  3. hazelcast 搭建_Hazelcast 集群功能及配置

    在前2篇博文中,介绍了 Hazelcast的基本原理 和 Hazelcast基本配置. 后续的博文会逐一介绍Hazelcast的主要功能组件.本篇将详细说明Hazelcast集群组建.集群数据通信相关 ...

  4. RuoYi-Cloud 进阶篇_03( Seata 高可用集群与 NacosConfig配置中心整合)

    文章目录 1. 创建文件config.txt 2. 创建nacos-config.sh 3. 配置导入nacos配置中心 4. 配置验证 1. 创建文件config.txt 在seata的安装文件夹下 ...

  5. (四十三)java版spring cloud+spring boot+redis多租户社交电子商务平台-eureka集群整合config配置中心...

    电子商务平台源码请加企鹅求求:三五三六二四七二五九.加入依赖 <dependencies><!-- 监控 --><dependency><groupId> ...

  6. .Net Core微服务入门——Ocelot和Consul集群高可用

    .Net Core微服务入门--Ocelot和Consul集群高可用 上一章 我们ocelot网关顺利的接入了consul集群,并且访问成功. 但是,我们也遇到了问题,把 192.168.8.25 上 ...

  7. 搭建注册中心Consul集群

    1.安装Consul # 下载Consul # wget https://releases.hashicorp.com/consul/0.7.2/consul_0.7.2_linux_amd64.zi ...

  8. 实现Kubernetes跨集群服务应用的高可用

    我们在进行生产环境部署时得到的一个明确的需求,是Kubernetes用户希望服务部署能够zone.跨区域.跨集群甚至跨云边界(译者:如跨云供应商).相比单集群多zone部署,跨集群服务提供按地域分布, ...

  9. 微服务注册发现集群搭建——Registrator + Consul + Consul-template + nginx

    在互联网应用领域,服务的动态性需求十分常见,这就对服务的自动发现和可动态扩展提出了很高的要求. 微服务系统动辄上万个服务,而且还要动态伸缩.以人工写好的IP.Port 硬编码脚本的方式无法做到大规模自 ...

最新文章

  1. MyBatis-05 MyBatis XML方式之update/delete元素
  2. 在Nginx上配置ThinkPHP项目
  3. 魅族怎么查看内存linux,这就是魅族超级旗舰:看燃
  4. USACO Training Section 1.2 [USACO1.2]回文平方数
  5. matlab的fft点数,matlab fft的点数问题
  6. 【AI视野·今日CV 计算机视觉论文速览 第240期】Thu, 4 Nov 2021
  7. 软件工程——硬件汇编程序设计实验——顺序程序实验
  8. [蓝桥杯][2018年第九届真题]全球变暖
  9. CLR,通用语言运行时库
  10. PLSQL连接Oracle 数据库配置详解
  11. 解决魅族手机不输出Log日志 或者输出部分日志问题
  12. 数制转换c语言 1a 26,C语言数制转换
  13. 化工行业动态:华峰化学业绩超预期,新增推荐标的_中泰化学(20210117).PDF
  14. Ubuntu使用bind9配置DNS服务器
  15. 《海王》电影观后小感
  16. aiaidaxue.com 爱爱大学最新地址发布页
  17. 在树莓派上定时播放语音
  18. MySQL的发展历程
  19. 图形化编程——RFID智能门禁
  20. 如何在博客中添加Aplayer音乐播放器

热门文章

  1. 语音朗读中多音字问题
  2. Slog78_本地Markdown编辑器--ArthurSLogMD!
  3. 档案馆 虚拟服务器,基于VMware数字档案馆服务器虚拟化探究.doc
  4. BCM设计与开发的简单介绍
  5. Levenberg–Marquardt算法学习
  6. 麦克风音频服务器未响应,耳机和麦克风都没坏,插上电脑后为什么不能语音聊天?...
  7. Python小程序解决不规则转置问题
  8. query与document文本相关性计算总结
  9. 蒙特卡洛方法——高斯分布
  10. 苹果手机ios搭建服务器linux,iOS 利用CocoaHttpServer搭建手机本地服务器