高并发系统设计 40 问
唐扬
美图公司技术专家
49013 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 49 讲
高并发系统设计 40 问
15
15
1.0x
00:00/00:00
登录|注册

33 | 配置管理:成千上万的配置项要如何管理?

文件缓存
内存缓存
灰度发布、更改热发布功能
支持不同环境、不同集群的配置
两级缓存
长连推送方式
轮询查询方式
存储结构规范
选择合适的存储组件
Apollo
避免忘记部署配置文件
HTTP客户端连接池大小
超时时间
高可用保证
变更推送实现
配置信息存储
配置中心组件
多机房部署的配置管理
标准化配置文件存储目录
配置文件打包部署
使用配置中心管理
配置文件管理
调整配置参数
配置中心
配置文件管理
配置管理方式
性能优化
配置管理

该思维导图由 AI 生成,仅供参考

你好,我是唐扬。
相信在实际工作中,提及性能优化你会想到代码优化,但是实际上有些性能优化可能只需要调整一些配置参数就可以搞定了。为什么这么说呢?我给你举几个例子:
你可以调整配置的超时时间让请求快速失败,防止系统的雪崩,提升系统的可用性;
你还可以调整 HTTP 客户端连接池的大小,来提升调用第三方 HTTP 服务的并行处理能力,从而提升系统的性能。
你可以认为配置是管理你系统的工具,在你的垂直电商系统中,一定会有非常多的配置项,比如数据库的地址、请求 HTTP 服务的域名、本地内存最大缓存数量等等。
那么,你要如何对这些配置项做管理呢?管理的过程中要注意哪些事情呢?

如何对配置进行管理

配置管理由来已久,在 Linux 系统中就提供了大量的配置项,你可以根据自身业务的实际情况,动态地对系统功能做调整。比如,你可以通过修改 dirty_writeback_centisecs 参数的数值,调整 Page Cache 中脏数据刷新到磁盘上的频率;你也可以通过修改 tcp_max_syn_backlog 参数的值,来调整未建立连接队列的长度。而你既可以通过修改配置文件并且重启服务器来让配置生效,也可以通过 sysctl 命令来动态地调整,让配置即时生效。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了配置管理对系统性能优化的重要性,以及配置中心的选择和实现方式。文章首先讨论了在开发应用时管理配置的两种方式:通过配置文件和使用配置中心。其次,详细介绍了配置信息的存储和变更推送的实现方式。最后,推荐了Apollo作为配置中心的选择,并提出了自行研发配置中心的关键点。重点强调了配置中心的可用性远远大于性能,提出了“旁路化”策略,即使配置中心宕机,应用程序仍能启动。总结指出配置存储分级,配置中心提供配置变更通知和关注可用性优先级高于性能。文章鼓励读者分享项目中的配置管理方式。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《高并发系统设计 40 问》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(27)

  • 最新
  • 精选
  • 丁丁历险记
    md5 值判断更新,这个套路常用。

    作者回复: 是的,很常见

    2019-12-26
    2
    19
  • 👽
    个人总结: 配置中心:就相当于云。将配置内容挂载到云上,所有服务器根据自己的情况取自己需要的配置。 配置分级:类似于面向对象编程中子类和父类的。父类已有的方法可以满足要求时,可以直接用。如果自己有额外业务,那就复写父类的方法。 配置变更通知:类似于设计模式的发布订阅模式。再有新配置内容发布的时候,要保证通知所有需要同步配置的客户端。 配置中心性能指标: 因为配置中心并发量与请求响应时间的要求并不高。因为一个客户端可能很久才需要更新一次配置,所以可用性才是最主要的指标。

    作者回复: 赞

    2019-12-19
    2
    13
  • longslee
    打卡。 zk 是 满足 CP,那么那几个基于 zk 的开源配置中心是怎么做到高可用的呢? 呃,我们的配置,似乎是反过来的哈哈,由一个配置中心定期生成一个静态文件,客户端直接引入这个路径下的文件...

    作者回复: 一般就是在客户端会有一个灾备文件,有的还会在服务端做多级缓存。

    2019-12-17
    3
    6
  • 许凯
    变更通知时,如果使用长连接,但实际没有送达怎么办呢?要对应答做个标记,再做个定时检查标记吗

    作者回复: 一般会长连短连结合的方式,短连定期轮询,长连负责推送

    2019-12-09
    5
  • 有个小疑问,像京东这类网站,通过web访问,页面这些静态资源肯定是放在类似tomact这类的web容器,用户量肯定好多亿,前端是如何负载均衡的

    作者回复: 静态资源在cdn上,不会经过web服务器

    2020-06-19
    2
  • 古德
    除了短连接定时轮循,和长连接的方式之外。是不是还有一种long-polling的长轮询方式,也可以用在配置中心这个场景里面

    作者回复: 是的,也是可以的

    2020-03-22
    2
    2
  • 何磊
    使用配置中心遇到的几个问题 1. 配置中心也是keyvalue的方式存储或者说返回,需要按照服务纬度拉取配置,所以本地还是要在配置文件中写明要拉取配置的服务名 2. 我们实际操作中将配置中心跟注册中心整合了,本地配置记录服务名,注册中心不仅记录服务的node还记录相关配置。比如:db的账号密码。如果是只有配置也可以用这种方式,该方式对于agent维护成本降低

    作者回复: 👍

    2019-12-09
    2
    2
  • 知行合一
    配置中心怎么才能实现6个9的系统呢?

    作者回复: 主要是做好容灾

    2019-12-09
    1
  • 指尖以东
    在k8s里面本地文件还需要挂载,不然就丢了

    作者回复: 是的

    2020-06-01
    2
  • 马里奥的马里奥
    我司基于zookeeper实现配置中心

    作者回复: 是的,zk居多

    2020-03-11
收起评论
显示
设置
留言
27
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部