(相關(guān)資料圖)

傳統(tǒng)配置文件的弊端

靜態(tài)化配置,例如env文件配置文件無(wú)法區(qū)分環(huán)境配置文件過(guò)于分散歷史版本無(wú)法查看

配置中心如何解決的呢?配置中心的思路是把項(xiàng)目中的配置參數(shù)全部放在一個(gè)集中的地方來(lái)管理,并提供一套標(biāo)準(zhǔn)的接口,當(dāng)各個(gè)服務(wù)需要獲取配置的時(shí)候就來(lái)拉取信息,當(dāng)配置中心有更新的時(shí)候,也能通知其他服務(wù),實(shí)時(shí)同步最新消息。

微服務(wù)配置中心

配置信息的管理配置信息的查看、讀取、更新等,完善的Api管理界面高可用、權(quán)限管理等功能

主流的配置中心

Apollo是由攜程開(kāi)源的分布式配置中心Spring Cloud ConfigConsul

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    }]

單點(diǎn)服務(wù)器Consul集群

補(bǔ)充一下單點(diǎn)服務(wù)器Consul集群的步驟,我的虛擬機(jī)ip 192.168.88.144,配置3個(gè)節(jié)點(diǎn), Consul v1.12.1

server01@server01-virtual-machine:~$ consul versionConsul v1.12.1
wget https://releases.hashicorp.com/consul/1.12.1/consul_1.12.1_darwin_arm64.zipunzip consul_1.12.1_darwin_arm64.zipmv 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詳細(xì)參數(shù),執(zhí)行命令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詳細(xì)參數(shù),執(zhí)行命令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詳細(xì)參數(shù),執(zhí)行命令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"    ]}

標(biāo)簽: