从需求到上线全过程

92 阅读2分钟

开发流程拆解与介绍 课程资料有 1.瀑布模型 2.Scrum 3.SAFe 4.CNCF 5.常用的发布模式 流程进行详细拆分,分别讲解需求阶段、开发阶段、测试阶段、发布阶段与运维阶段工作 需求阶段:重要但不紧急(60%~80%)不重要不紧急(15%) 重要且紧急(20%~25%)紧急但不重要(<1%) 开发阶段:单体架构,多个模块共同组成一个服务,服务体量较大,模块之间直接调用,不需要RPC通信,服务整体扩缩容量,多人开发一个代码仓库 微服务架构,各个功能在不同的服务中,不同模块需要进行RPC通信,不同模块可以独立扩缩容量,每个服务的代码仓库由少部分人维护。 代码规范、自测和文档:1.代码规范 养成良好的注释习惯,超过三个月的代码,自己都会忘了当时在想什么,不要有魔法数字,魔法字符串,重复的逻辑抽象成公共的方法,不要copy代码,正确使用IDE的重构功能,防止修改错误, 自测:单元测试,功能坏境测试,测试数据沟通 文档:大型改造需要有技术设计文档,方案评审,好的接口文档更方便的和前端进行沟通 测试阶段:你需要在写完每一段代码之后立刻测试这段代码,但完成了更多的代码时,就要做更多的测试,测试不是独立隔离的活动,它本身就是开发过程的一部分,质量不等于测试,当你把开发过程和测试放到一起,就像在搅拌机里混合搅拌那样,直到不能区分彼此的时候,你就得到了质量, 《goole 软件测试之道》 发布阶段:蛮力发布-金丝雀发布-滚动发布-蓝绿发布-红黑发布 运维阶段: 飞机平飞阶段也有可能发生事故 用户量增加引起流量洪峰(12306抢票) 数据库表的数据量增长导致查询速度变慢 内存/进程泄漏导致服务资源不足 光缆被挖断 止损-修复-定位-周知-关键动作