大家说说大型网站是如何做配置管理的
这里说的配置是指系统运行所需的各种参数,比如web.config中的各种配置值。
这里有2个问题:
1.大型网站的配置是存放在哪里,如何读取?集中管理,还是各个子系统自己管理?
2.这些配置若要修改,如何使它立即生效而不造成访问停止?那么多服务器,如何一起修改?
各位可以谈谈你们平时一般是如何管理配置的,遇到什么问题,也可以谈谈知名大网站是如何做配置管理的。 配置管理
[解决办法]
大部分配置参数是存储在数据库中的,也有一些会专门由配置服务器来远程提供配置参数。
配置参数要看什么类型,非底层参数,可以在管理界面更新配置后发送通知同步提醒所有服务。
如果是底层参数,就需要关闭服务再修改,但这种修改未必需要对外停止服务。比如你有100台服务,你可以停20台,修改参数后启动;再接着改20台,就这样。即便是碰到要升级发布,如果不是重大变更,一样可以这么做。
[解决办法]
这个需要啥案例?Weblogic集群环境下的AdminServer就承担了配置服务器的职责。
尽量消除XML配置,这个是设计阶段就要解决的问题。一般来说经常需要变化的配置,业务相关性更高。
第三方组件所使用的配置,这个要看什么类型的组件,可以将配置文件整个存储到数据库中,然后以InputStream的方式供组件初始化,但动态更新就要依赖第三方组件自身是否支持了。所以:要么所使用的第三方组件比较底层,需要修改配置的可能性很低;要么就干脆不用这个组件。
另一种招数就是用类似于OSGi的手段,组件化可拆卸。有新版本上来了,就新版本新配置在线加载,然后卸载旧版本。
[解决办法]
可以专门的搞配置服务器, 或者用开源的zookeeper也可以。
[解决办法]