从开源项目汲取养分助力业务发展 景罗 PHPCon2020

  • 50 浏览

PHPConChina

2020/10/25 发布于 技术 分类

文字内容
1. 从开源项目汲取养分助力业务发展 学而思网校 景罗
2. PHPConChina 历年完整 PPT 下载: https://github.com/ThinkDevelopers/PHPConChina 视频回看地址: https://www.itdks.com/Home/Act/apply?id=5366 PPT 版权归属 PHPCon 组委会和嘉宾本人所有,请勿通过其他渠道提供下载
3. PHPConChina 官方渠道 • • • • • 官网:http://www.phpconchina.com/?o=ppt 公众号:PHPCon 纪念品购买:https://k.weidian.com/H3=4lVho 客服咨询:PHPConChina(个人微信号) 官方QQ群: 34449228( 加群注明 PHPCon ) 扫码关注了解行业最新动态
4. 自我介绍 景罗--学而思网校 • 开源爱好者,高级技术专家 • 7年后端架构经验,熟悉PHP、Nginx、Redis、MySQL等源码实现 • “打造学习型团队”的践行者
5. 大纲内容 01 早读会升级打怪之旅 02 汲取养分助力业务
6. 小调研 多少人组织过团队内的技术分享? 持续时间超过3/6/12个月的? 频率每天1次?
7. 小讨论 观点:每天坚持难?还是一周两次难? l 像吃饭喝水一样变成日常生活的一部分(不容易找借口) l 形成习惯最简单的办法:多做这件事 l 变成一种心理依赖(不是负担),类比写代码
8. 疫情下的早读会
9. 早读会成果一览 持续时间最 覆盖面最 长: 2019年3月-2020年10月,9:00-10:30 广 : php、redis、nginx、twemproxy、MySQL、swoole、php框架 影响人数最 多:走出来优秀讲师39位,内部800人+分享18人 https://ke.sifou.com/course/1650000023669742
10. 早读会成果一览 持续时间最 覆盖面最 长: 2019年3月-2020年10月,9:00-10:30 广 : php、redis、nginx、twemproxy、MySQL、swoole、php框架 影响人数最 多:走出来优秀讲师39位,内部800人+分享18人 衍生成果 : 书 籍 、 公 众 号
11. 早读会成果一览 充实感、满足感
12. 讲什么 & 谁来讲?--讲师团 专家 (分享) 码农 (共创) 大牛 (授课) 想提升但不知道讲什么? 早读会 讲不好怎么办?
13. 讲给谁?--自愿原则 438人听众 30人讲师团
14. 到底什么样才叫学习效果好? 一千个人眼中有一千个哈姆雷特
15. 学习就像练功夫 如何才能笑傲江湖?
16. 第一层学招式--Nginx源码为例 理论先行:书籍-》文档-》博客
17. 第二层练内功--MySqL源码为例 Tr a c e 日 志 逻辑执行 语义、结果正确性 工具分析 explain、 optimizer trace mysql.trace分析 执行过程 GDB源码 源码跟踪代码执行 流程、关键断点 问题导向:追溯至熟悉的知识结构
18. 第三层成体系--关联解决实际问题 知识关联:工作中的实际问题或熟悉的问题域
19. 难点:如何长期坚持?
20. 解法:机制流程化 精彩回放 单击此处添加文本 具体内容 直播会议 课程表 单击此处添加文本 具体内容 单击此处添加文本 具体内容 记录纪要 大纲及讲师团 单击此处添加文本 具体内容 前一天预告 单击此处添加文本 具体内容 单击此处添加文本 具体内容
21. 解法:打造一种心智 每天9点一定会有 只要还有一 内容一定是精心准备的 参与就一定有收获 晚上 的 时 间 , 再 多 的 异常 都 可 以 规 避
22. 说起来容易做起来难 异常 情况比 正常 情 况 还 多 !
23. 似曾相识的场景 业务太忙 没准备好 我俩内容重复了 内容太简单 准备的内容还差点意思 家里有事 我先看看你们先讲 环境还没搭好 听不懂跟不上 我不知道要讲啥 不是明天到我吗 学过就忘记怎么办 那么多大佬我不好意思讲 学的内容和工作有什么关系 内容我不感兴趣 今天上线取消一次吧 今天没准备好下次再讲 讲了30分钟结束 讲的没有深度先不讲了 最近太忙过了暑期再参加 讲不下去了 More……
24. 讲师维度--问题归类分析 内容 空洞 想讲干货,准备不好 效果 不佳 需正反馈、没有方法 信心 不足 大佬云集,底气缺乏 不可 持续 业务繁忙、时间紧张 误区:不是讲的越专业越源码就越牛逼
25. 讲师维度--解决方案 • 讲 “听众”的课 • 在 “需要”时提供帮助 • 去 “包袱”优势互补学习
26. 学员维度--问题归类分析 忘得快 没有和已有知识结构关联, 别人家的东西(提问、实践) 听不懂 领域差异或者没能长期坚 持(有1就会有2) 用不上 纯理论介绍或者实践经验 匮乏(工作场景关联演示) 误区:信仰“复制粘贴改一下”缺乏思考
27. 学员维度--解决方案 “输出倒逼输入”
28. 早读会组织方法论
29. 长久坚持其实并不难 机制保障,建立心智,讲师有 成就 , 学 员 有 收获
30. 业务赋能--学习和工作的关联 线上配置 设计 思想 疑难杂症 1 2 3 服务“没问题”,也许是一直在 裸奔
31. 业务赋能--Redis过期时间失效问题 Redis原子锁过期时间设置失败问题 原因: 使用pipeline同时执行setnx和expire命令 解决: 更改twemproxy的配置项(研读过源码) server_connections = 1
32. 业务赋能--探讨解决慢查询问题 探讨解决工作中的 “疑难” 杂 症
33. 业务赋能--解决Twemproxy不支持unlink问 题 避免大key删除的 “阻塞” 问 题 几行“代码”的事
34. 业务赋能--队列积压的困境 红包、互动题队列积压,老师看不到实时统计数据 参数校验 + 多维度统计 + 入库 + API调用 = 慢 同步存在性能问题 异步存在体验问题 ü 多队列方案(资源) ü 优先级队列 ü 降级+容忍慢
35. 业务赋能--类比redis中unlink的实现 同步删除: 可能存在大key,会阻塞服务器 异步删除: 大量的key积压无法释放内存,造成内存资源浪费 根据需要 “ 半同步 ” 删 除
36. 业务赋能--队列积压的困境 Start 参数校验 解决延迟:topN实时统 计,保证教师端更实时 完成TopN统计 展示互动统计信息 是否需要 统计 构建作业 半同步模式 特殊标记 放入redis队列 End ü 借鉴开源项目中处理问题的策略,不是所有的问题都要靠堆资源
37. 业务赋能--决策权交给用户 标签定向的两难境地? eg:投放精品课注册3天后LP触达>3次且已出勤用户,推送转正价课课程(科目)
38. 业务赋能--类比MySQL源码中的思想 不是非此即彼,开放入口把决策权交给用户(业务) eg:MySQL中的sync_binlog和innodb_flush_log_at_trx_commit为例, 配置化把选择权交给用户;配置常量的优化等。
39. 业务赋能--决策权交给用户
40. 业务赋能--决策权交给用户 多广告请求聚合与拆分 ü 痛点是什么,不是非此即彼【变与不变的思想】
41. 业务赋能--源码对工程实践的启示 架构设计 主动内存缓存架构 工程化 解决问题的思路 配置化、决策权交给用户 性能优化、取巧的数据结构 技术方案 编码技巧 LRU优化、定时定量 内存零拷贝、倒排检索、位运算
42. 业务赋能--三大法宝 逻辑完备 l 缓存+异步化 l l l 大而化小分而治之 l l 质量 法宝 l l l 性能 法宝 从源码中来,到业务中去
43. 业务无法选择的前提下,技术与数据角度大有可为,让价值最大化呈现
44. 说100%不如学会方法去实践
45. 为热爱全力以赴,用输出倒逼输入 舞台,懂业务、重数据、会思考、能表达 早读会给普通码农提供
46. Thank You! Q&&A 欢迎加入学而思网校