小弟目前在学习后台相关服务
不论是 spring mvc 还是 springboot
更换配置,如果不做特殊处理的话,都需要在修改配置文件,然后重启服务
有没有很好的办法,不重启服务呢?
我考虑了几种办法:
写到数据库里,每次服务用到相关配置的地方,读数据库,这样需要增加一套接口,来维护这个数据。
springboot 有一个配置服务器,可以从服务器读取配置,但是这样会多一个服务要维护,这个服务的可靠性还得花精力,对于小型公司来说,过于麻烦了
请教各位大佬,有比较简单比较方便的方法么,谢谢。
1 ma836323493 2020-05-07 11:16:06 +08:00 配置服务不需要太高可靠性 |
2 lzk50136 2020-05-07 11:20:39 +08:00 加个 nacos ? |
![]() | 3 Vedar 2020-05-07 11:21:23 +08:00 就像 1l 说的 配置服务器挂了重启就是了 没啥高可用的 完全不重启服务是不可能的 spring boot 不是有 profile 么 用不着修改配置文件 维护多套环境的配置文件就好了呀 |
4 jorneyr 2020-05-07 11:22:58 +08:00 既然是小公司,配置还能有多复杂,针对不同的环境配置 profile 就好了。 |
![]() | 5 wangyanrui 2020-05-07 11:24:49 +08:00 1. 小项目,多 profiles 2. 大项目,配置中心 |
![]() | 6 wucao219101 2020-05-07 11:25:56 +08:00 用一个统一的配置中心就行,选择有很多:Spring Cloud Config 、Nacos 、Consul 、Apollo |
&nbp; 7 airfling 2020-05-07 11:27:38 +08:00 spring boot actuator + spring cloud config,想要刷新配置的时候请求下远程的刷新接口就会重新加载配置和重新初始化你需要初始化的 bean |
![]() | 8 darkaforest 2020-05-07 11:31:49 +08:00 via Android 只用原生的可以试试 spring cloud bus + spring cloud config 实现个配置中心,目前支持大部分配置不重启更新,网上教程很多 |
9 egglin 2020-05-07 11:32:11 +08:00 应该不用考虑高可用问题 |
![]() | 10 WhereverYouGo 2020-05-07 13:35:11 +08:00 Apollo |
![]() | 11 Guozi1989 2020-05-07 16:05:44 +08:00 Apollo |
![]() | 12 abcbuzhiming 2020-05-07 16:09:44 +08:00 你的项目要多高的可靠性才要考虑不重启服务这个问题?我觉得这是个伪需求 |
13 duwan 2020-05-07 16:22:57 +08:00 放数据库里面,定时读出来放到 spring 的 property 中。 |
14 jjianwen68 2020-05-07 16:28:24 +08:00 |
![]() | 15 24bit 2020-05-07 16:40:25 +08:00 Apollo |
![]() | 16 gaius 2020-05-07 21:13:23 +08:00 via Android 滚动升级挺方便的 |
![]() | 17 lordofhollows 2020-05-07 23:29:28 +08:00 你的第 1 种办法就行,已经很简单了 |