摘要: ### 降级: 减少工作量,丢弃不重要的请求。 确定具体采用哪个指标作为流量评估和优雅降级的决定性指标: 如 CPU、延迟、队列长度、线程数量、错误等 当服务进入降级时,需要执行什么动作? 流量抛弃或者优雅降级应该在服务的哪一层实现?是否需要在整个服务的每一层都实现,还是可以选择某个高层面的关键节点 阅读全文
posted @ 2023-08-27 14:15 Paualf 阅读(133) 评论(0) 推荐(0) 编辑
摘要: ## 过载保护 ### 令牌桶算法 存放固定容量令牌的桶,按照固定速率往桶里添加令牌 https://pkg.go.dev/golang.org/x/time/rate ### 漏桶算法 作为计量工具(The Leaky Bucket Algorithm as a Meter)时,可以用于流量整形( 阅读全文
posted @ 2023-08-13 17:44 Paualf 阅读(81) 评论(0) 推荐(0) 编辑
摘要: ## 隔离 本质上是对系统和资源进行分割,从而实现当系统故障时能限定传播范围和影响范围,即发生故障后只有出问题的服务不可用,保证其他服务仍然可用。 ### 服务隔离 #### 动静隔离 mysql 表中的bufferpool 频繁过期,隔离动静表。如 稿件的基本信息,作者、封面等和稿件的播放、点赞 阅读全文
posted @ 2023-07-30 16:36 Paualf 阅读(95) 评论(0) 推荐(0) 编辑
摘要: ### 现象 某一个周末a56爆大奖在线娱乐们的服务 oom了,一个比较重要的job 没有跑完,需要重跑,以为是偶然,重跑成功,因为是周末没有去定位原因 又一个工作日,它又oom了,重跑成功,持续观察,job 在oom之前竟然占用了30g左右(这里a56爆大奖在线娱乐们的任务比较大的数据量都在内存中计算,a56爆大奖在线娱乐这里机器内存量大一点) 应 阅读全文
posted @ 2023-07-23 18:03 Paualf 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 整洁的代码只做好一件事: a56爆大奖在线娱乐函数、a56爆大奖在线娱乐类和a56爆大奖在线娱乐模块都全身神贯注于一件事。 这里结合自己之前代码设计和处理的时候想一下子把整体都思考完全,无论是思维还是代码设计都不是好的方法。 ### 方法 减少重复代码 提供表达力 提早构建简单抽象 ### 有意义的命名 ### 函数 函数应该做一件事,做好这件事 阅读全文
posted @ 2023-07-02 16:52 Paualf 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 上线上了大半天,原因:因为慢查询了导致跑不出来,后来同事帮忙看了下发现慢查询了,程序hang住了 select * from table where cdate = '2023-02-01' and id > ? order by id limit 500 这条sql线上执行了300ms,一共900 阅读全文
posted @ 2023-02-05 10:53 Paualf 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 没有索引,全表扫描,需要进行添加索引 扫描没有使用where id>xxx order by id limit 进行扫描,直接where xxx order by id limit offset,limit,两种前者是explain : type range,后面是 index,性能 range > 阅读全文
posted @ 2023-02-05 10:45 Paualf 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 定义 复杂问题:一下子想不到解决方式的问题,或者说是一个新项目或者工程化的项目。这样也没有办法量化,比如说是 30人日 的项目,需要一个人做30天,4个人做10个工作日的项目这些都属于复杂的工程用来解决某个问题的项目。 心态 不要害怕复杂的问题,复杂的工程问题你去分析,不过是由一个一个稳定的组件组装 阅读全文
posted @ 2023-01-15 16:21 Paualf 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 思维 To Be Human 爱具体的人;做具体的事 思考方式 遇到问题不要紧张,要冷静地思考,深呼吸一下 开放的心态 open, 接受不同的声音 你怎么想?学习做事,都要带着自己的思考和实践哈,需要自己琢磨 原理重于实现:原理是不变的,a56爆大奖在线娱乐人的视线都可能会改变 接口定义重于接口实现 Peace & 阅读全文
posted @ 2022-08-21 08:36 Paualf 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 为什么要做这件事情?这件事情的收益是什么 拿章淼老师举的例子,比如定位追踪导弹,导弹很重要,但是它的定位功能是最重要的。类比a56爆大奖在线娱乐们在软件开发和技术方案设计的时候也是这样,为什么做这件事情比怎么做这件事情可能更加的重要。 Design for Fail 设计的时候要考虑失败的情况下,如何处理,比如发奖状 阅读全文
posted @ 2022-06-23 09:39 Paualf 阅读(40) 评论(0) 推荐(0) 编辑