传统式环境变量的缺点静态化配备

lxf2023-12-20 09:20:01

传统式环境变量的缺点

  • 静态化配备,比如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集群式的流程,我vm虚拟机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"
    ]
}

传统式环境变量的缺点静态化配备

本站是一个以CSS、JavaScript、Vue、HTML为中心的前端开发技术网址。我们的使命是为众多前端工程师者提供全方位、全方位、好用的前端工程师专业知识和技术服务。 在网站上,大家可以学到最新前端开发技术,掌握前端工程师最新发布的趋势和良好实践。大家提供大量实例教程和实例,让大家可以快速上手前端工程师的关键技术和程序。 本站还提供了一系列好用的工具软件,帮助你更高效地开展前端工程师工作中。公司提供的一种手段和软件都要经过精心策划和改进,能够帮助你节约时间精力,提高研发效率。 此外,本站还拥有一个有活力的小区,你可以在社区里与其它前端工程师者沟通交流技术性、交流经验、处理问题。我们坚信,街道的能量能够帮助你能够更好地进步与成长。 在网站上,大家可以找到你需要的一切前端工程师网络资源,使您成为一名更加出色的网页开发者。欢迎你添加我们的大家庭,一起探索前端工程师的无限潜能!