文章目录

  • 一、传统配置文件的弊端
  • 二、微服务配置中心
  • 三、主流的配置中心
  • 四、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"]
}

【微服务】搭建Consul集群服务和Consul配置中心相关推荐

  1. 微服务 - 搭建Consul集群服务,Consul配置中心

    传统配置文件的弊端 静态化配置,例如env文件 配置文件无法区分环境 配置文件过于分散 历史版本无法查看 配置中心如何解决的呢?配置中心的思路是把项目中的配置参数全部放在一个集中的地方来管理,并提供一 ...

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

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

  3. 二进制搭建kubernetes多master集群【三、配置k8s master及高可用】

    前面两篇文章已经配置好了etcd和flannel的网络,现在开始配置k8s master集群. etcd集群配置参考:二进制搭建kubernetes多master集群[一.使用TLS证书搭建etcd集 ...

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

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

  5. 微服务之:从零搭建ocelot网关和consul集群

    介绍 微服务中有关键的几项技术,其中网关和服务服务发现,服务注册相辅相成. 首先解释几个本次教程中需要的术语 网关 Gateway(API GW / API 网关),顾名思义,是企业 IT 在系统边界 ...

  6. 8分钟学会Consul集群搭建及微服务概念

    Consul介绍: Consul 是由 HashiCorp 公司推出的开源软件,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,Consul 的方案更"一站式" ...

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

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

  8. SpringCloud微服务搭建(四 搭建EurekaServer集群)

    在上一章的基础上 在EurekasServer里面添加三个yml: bootstrap-server1.yml: server:port: 8794eureka:instance:hostname: ...

  9. 微服务自动化【集群搭建】

    目录 搭建 etcd 集群 etcd构建自身高可用集群主要有三种形式: 1. 静态部署(前提) 2. 集群搭建 3. 集群测试 搭建 etcd 集群    etcd构建自身高可用集群主要有三种形式: ...

最新文章

  1. 数据库收缩:NOTRUNCATE与TRUNCATEONLY
  2. 统计学有多无聊?谷歌统计学家带你证明
  3. 实战matlab之并行程序设计.pdf,实战Matlab之并行程序设计_IT教程网
  4. [SDOI2010]外星千足虫 题解 高斯消元+bitset简介
  5. linux查看重传次数,TCP-聊一聊重传次数
  6. # javascript 总结
  7. eclipse搭建多module项目的坑
  8. [html] button标签的type默认值是什么呢?
  9. [JavaScript]面向对象编程
  10. [Android]RapidFloatingActionButton框架正式出炉
  11. android httpclient版本,android版本存在 httpclient leak
  12. C# 中Session的用法
  13. 日常中的迅捷PDF转换器
  14. Trie树(字典树)
  15. thinkcmf:Cannot redeclare cmf_get_date() (previously declared in
  16. Hash算法总结(转载)
  17. CCR炒币机器人:币圈新手炒币可以用什么方法操作?
  18. 域名转为服务器IP地址的几种方式
  19. 2021年全球与中国重型泥浆泵行业市场规模及发展前景分析
  20. 数据使用要谨慎——不良数据带来严重后果

热门文章

  1. python 脑洞_从说韩语到写Python,这个数据媛的脑洞有毒吧
  2. 第三次作业:卷积神经网络
  3. 北航计算机学院2018拟招收人数,北航2018年硕士研究生招生计划
  4. 量化投资第一步---获取数据---通过Tushare
  5. 投资理财-如何正确估值?
  6. Amason S3 (一)
  7. windows训练自己的语义分割
  8. OSChina 周六乱弹 —— 你一口我一口多咬一口是小狗
  9. nuxt 项目部署到 netlify 并绑定https域名
  10. android闹钟测评,游戏闹钟AlarmMon评测 让起床变得快乐