登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
园子
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
读发布!设计与部署稳定的分布式系统(第2版)笔记14_稳 ...
读发布!设计与部署稳定的分布式系统(第2版)笔记14_稳态
[ 复制链接 ]
琉艺戕
前天 20:20
1. 最大限度地避免直接对生产系统进行人为操作最为妥善
1.1. 人为干预生产环境会导致问题
1.1.1. 把“无须摆弄”做到极致,就是“不可变”的基础设施,因为那里根本就不存在供人摆弄的途径
1.1.2. 如果系统需要大量手动操作来保持运行,那么管理员就必须养成始终记日志的习惯
1.1.3. 通过限制系统管理员登录生产环境服务器的需求,鼓励更好的运维纪律
1.2. 系统应该能够在没有人工干预的情况下,至少运行一个发布周期
1.2.1. 系统应在无须手动清理磁盘或每晚重新启动的情况下,至少运行一个发布周期
1.2.2. 在发布周期中,那些从版本控制系统中持续部署的微服务,应该非常易于实现稳定部署
2. 存储桶
2.1. 稳态模式表明,针对每个累积资源的机制,要相应存在另一个机制回收该资源
2.2. 随着数据的累积,存储桶会以一定的速率填满
2.3. 存储桶必须以相同或更快的速率清空数据,否则最终会溢出
2.4. 当该存储桶溢出时,坏事会发生
2.4.1. 服务器停机
2.4.2. 数据库变慢
2.4.3. 抛出错误信息
2.4.4. 响应长
3. 数据清除
3.1. 数据清除总会被忽视
3.2. 计算资源总是有限的,因此不能无限制地持续增加消费
3.3. 数据增长最明显的症状,就是数据库服务器上的I/O速率稳步增加
3.4. 在恒定的系统负载下,也能看到延迟时间会增加
3.5. 数据清除的另一半工作,是确保在清除数据之后应用程序仍能正常工作,而这需要进行编程和测试
3.6. DBA可以通过创建脚本清除数据,但他们不知道删除数据之后,应用程序会如何运转
3.6.1. 为了保持逻辑完整性(特别是在使用对象关系映射工具时),应用程序需要清除自己的数据
4. 日志文件
4.1. 不要无限量保留日志文件
4.1.1. 如果日志文件无限制地增大,最终会填满其所在的文件系统
4.2. 文件系统空间耗尽之后的状况就无从得知了
4.2.1. 最好的情况,就是日志文件系统与任何关键数据存储(例如事务)是分离的,而且应用程序代码本身具有足够的安全防护能力,用户永远不会意识到有任何错误发生
4.3. 最好一开始就避免一直往文件系统里添加内容
4.3.1. 基于日志文件的大小来配置日志文件回转
4.4. 日志对系统的明晰性有极大的帮助,确保所有的日志文件都能被回转使用,并最终被清除
4.5. 生产环境系统的日志文件信噪比很糟糕
4.5.1. 最好能尽快将日志文件从单个主机上移走,发送到集中式日志记录服务器(例如Logstash),进而对其进行索引、搜索和监控
4.6. 多年保留日志
4.6.1. 单个机器不可能把日志保留这么长时间,大多数机器的寿命也不会这样长
4.6.2. 最好的办法是尽快从生产环境的机器中取出日志,将它们存储在中央服务器上,并对其密切监视,防止篡改
4.6.3. 如果合规性要求保留,则在非生产服务器上执行
5. 内存中的缓存
5.1. 内存中的缓存可以加快应用程序的运行速度
5.2. 若不对内存中的缓存加以控制,执行速度会降低
5.3. 低内存的状态对稳定性和容量都是威胁
5.3.1. 需要限制缓存可消耗的内存量
5.4. 如果缓存键数量没有上限,则必须限制缓存大小,并且采用某种形式的缓存失效机制
5.5. 定时刷新缓存是最简单的缓存失效机制
5.5.1. 定时刷新缓存能够处理90%的情况
5.6. “最近最少使用”或工作集算法
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
那些年搞不懂的高深术语——依赖倒置•控制反转•依赖注入•面向接口编程
如何优雅的使用RabbitMQ
分布式锁1 Java常用技术方案
浅谈我对DDD领域驱动设计的理解
游戏编程十年总结(下)
【前端性能】高性能滚动 scroll 及页面渲染优化
验证码对抗之路及现有验证机制介绍
从零开始入门 K8s | 手把手带你理解 etcd
中文写程序,何陋之有?
NHibernate之旅(2):第一个NHibernate程序
公司的中场
谈谈如何从本质上理解sql语句, 存储过程,ORM之间的联系和取舍。
Android 系统缺陷不完全点评
FFmpeg开发笔记(六十二)Windows给FFmpeg集成H.266编码器vvenc
[一步一步MVC]第一回:使用ActionSelector控制Action的选择
.net环境下跨进程、高频率读写数据
第二个iPhone应用程序:“Say Hello”
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
科技
签约作者
程序园优秀签约作者
发帖
琉艺戕
前天 20:20
关注
0
粉丝关注
8
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9988
森萌黠
9996
堵赫然
9996
4
凶契帽
9996
5
处匈跑
9996
6
柴古香
9996
7
背竽
9996
8
恐肩
9994
9
里豳朝
9994
10
谭皎洁
9994
查看更多