spring web 服务,如何便捷的更换配置

2020-05-07 11:04:14 +08:00
 NoKey

小弟目前在学习后台相关服务

不论是 spring mvc 还是 springboot

更换配置,如果不做特殊处理的话,都需要在修改配置文件,然后重启服务

有没有很好的办法,不重启服务呢?

我考虑了几种办法:

  1. 写到数据库里,每次服务用到相关配置的地方,读数据库,这样需要增加一套接口,来维护这个数据。

  2. springboot 有一个配置服务器,可以从服务器读取配置,但是这样会多一个服务要维护,这个服务的可靠性还得花精力,对于小型公司来说,过于麻烦了

请教各位大佬,有比较简单比较方便的方法么,谢谢。

2390 次点击
所在节点    程序员
17 条回复
ma836323493
2020-05-07 11:16:06 +08:00
配置服务不需要太高可靠性
lzk50136
2020-05-07 11:20:39 +08:00
加个 nacos ?
Vedar
2020-05-07 11:21:23 +08:00
就像 1l 说的 配置服务器挂了重启就是了 没啥高可用的 完全不重启服务是不可能的 spring boot 不是有 profile 么 用不着修改配置文件 维护多套环境的配置文件就好了呀
jorneyr
2020-05-07 11:22:58 +08:00
既然是小公司,配置还能有多复杂,针对不同的环境配置 profile 就好了。
wangyanrui
2020-05-07 11:24:49 +08:00
1. 小项目,多 profiles
2. 大项目,配置中心
wucao219101
2020-05-07 11:25:56 +08:00
用一个统一的配置中心就行,选择有很多:Spring Cloud Config 、Nacos 、Consul 、Apollo
airfling
2020-05-07 11:27:38 +08:00
spring boot actuator + spring cloud config,想要刷新配置的时候请求下远程的刷新接口就会重新加载配置和重新初始化你需要初始化的 bean
darkaforest
2020-05-07 11:31:49 +08:00
只用原生的可以试试 spring cloud bus + spring cloud config 实现个配置中心,目前支持大部分配置不重启更新,网上教程很多
egglin
2020-05-07 11:32:11 +08:00
应该不用考虑高可用问题
WhereverYouGo
2020-05-07 13:35:11 +08:00
Apollo
Guozi1989
2020-05-07 16:05:44 +08:00
Apollo
abcbuzhiming
2020-05-07 16:09:44 +08:00
你的项目要多高的可靠性才要考虑不重启服务这个问题?我觉得这是个伪需求
duwan
2020-05-07 16:22:57 +08:00
放数据库里面,定时读出来放到 spring 的 property 中。
jjianwen68
2020-05-07 16:28:24 +08:00
24bit
2020-05-07 16:40:25 +08:00
Apollo
gaius
2020-05-07 21:13:23 +08:00
滚动升级挺方便的
lordofhollows
2020-05-07 23:29:28 +08:00
你的第 1 种办法就行,已经很简单了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/669199

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX