首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > 高性能WEB开发 >

大家说说大型网站是怎么做配置管理的

2014-01-03 
大家说说大型网站是如何做配置管理的这里说的配置是指系统运行所需的各种参数,比如web.config中的各种配置

大家说说大型网站是如何做配置管理的
这里说的配置是指系统运行所需的各种参数,比如web.config中的各种配置值。

这里有2个问题:
1.大型网站的配置是存放在哪里,如何读取?集中管理,还是各个子系统自己管理?
2.这些配置若要修改,如何使它立即生效而不造成访问停止?那么多服务器,如何一起修改?

各位可以谈谈你们平时一般是如何管理配置的,遇到什么问题,也可以谈谈知名大网站是如何做配置管理的。 配置管理
[解决办法]
大部分配置参数是存储在数据库中的,也有一些会专门由配置服务器来远程提供配置参数。

配置参数要看什么类型,非底层参数,可以在管理界面更新配置后发送通知同步提醒所有服务。

如果是底层参数,就需要关闭服务再修改,但这种修改未必需要对外停止服务。比如你有100台服务,你可以停20台,修改参数后启动;再接着改20台,就这样。即便是碰到要升级发布,如果不是重大变更,一样可以这么做。
[解决办法]
这个需要啥案例?Weblogic集群环境下的AdminServer就承担了配置服务器的职责。

尽量消除XML配置,这个是设计阶段就要解决的问题。一般来说经常需要变化的配置,业务相关性更高。

第三方组件所使用的配置,这个要看什么类型的组件,可以将配置文件整个存储到数据库中,然后以InputStream的方式供组件初始化,但动态更新就要依赖第三方组件自身是否支持了。所以:要么所使用的第三方组件比较底层,需要修改配置的可能性很低;要么就干脆不用这个组件。


另一种招数就是用类似于OSGi的手段,组件化可拆卸。有新版本上来了,就新版本新配置在线加载,然后卸载旧版本。
[解决办法]
可以专门的搞配置服务器, 或者用开源的zookeeper也可以。 

[解决办法]

引用:
这个需要啥案例?Weblogic集群环境下的AdminServer就承担了配置服务器的职责。

尽量消除XML配置,这个是设计阶段就要解决的问题。一般来说经常需要变化的配置,业务相关性更高。

第三方组件所使用的配置,这个要看什么类型的组件,可以将配置文件整个存储到数据库中,然后以InputStream的方式供组件初始化,但动态更新就要依赖第三方组件自身是否支持了。所以:要么所使用的第三方组件比较底层,需要修改配置的可能性很低;要么就干脆不用这个组件。


另一种招数就是用类似于OSGi的手段,组件化可拆卸。有新版本上来了,就新版本新配置在线加载,然后卸载旧版本。


组件化对开发人员要求太高。一不小心就内存泄漏。
OSGi的学习成本很大,指望国内大量的普通码农掌握不现实。
还是停服分批更新可行性好点。
[解决办法]
首先有个东西叫负载均衡,1个网站挂N个节点机。就先说来100个节点机吧

网站有一个后台程序,他会将运营修改的内容修改到服务器内,然后推送给审批人员
审批人员看到后确认能上线,则将信息发布出去(也就是点几个按钮的事情,发布程序都写好了)

此时新内容由后台的服务器发布到前台(也许是及时发布也许是定时发布)

发布后如果是内容,那么各个节点机获取到的信息将同时更新
如果是功能
那么将100节点机分组,例如10台一组进行更新

当更新后就会重新挂回去,然后继续更新下一组,直到更新全部完成


在有些网站你会看到他们的域名为 S1.XXX.COM NEWS3.XXX.COM
这个是他们用来方便测试的,可以通过域名来指定使用那台或那组节点机

热点排行