这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天。 今天学习的主要内容是项目的开发流程并且了解了一下神马是项目的微服务架构。下面主要从项目开发这一方面来说一下今天的学习内容。
项目开发
先说一下项目开发的一般流程:
- 需求阶段:要注意我们不需要哪些不需要的需求,我们要站在用户的角度去考虑需求。
- 开发阶段:主要要注意当下的云原生的趋势,要考虑团队的分支策略,最后要注意代码规范和自测。
- 测试阶段:测试主要分为功能测试、继承测试、回归环境测试。
- 发布阶段:发布模式有很多,主要有蛮力发布、金丝雀发布、滚动发布、蓝绿发布等等,我们要根据不同的情况来选择不同的发布方式。
- 运维阶段:注意项目在运行的过程中可能出现的各种问题
- 用户量增加引起的的流量洪峰
- 数据库表的数据增长导致SQL语句的查询速度变慢
- 内存/进程泄漏导致服务资源不足
- 光缆被挖断等等
然后项目开发模型也在不断进化,从瀑布模型到敏捷开发再到SAFe等等,可以看到我们项目的开发的一般流程也是在不断演化的。然后我们也可以从下图的字节大佬的项目开发流程来直观的感受一下大公司的项目开发流程(图来自字节王晨老师的PPT图片,侵删)
然后是项目流程优化的一些措施,比如 DevOps 解决方案,具有代码管理、自动化测试、持续集成、持续交付等等功能。另一个就是尽量实现全自动流程化,通过效能平台串联起各个阶段并且减少无价值的等待。这里就涉及到了云原生的内容了。好了剩下的后面在说吧,今天就先到这里为止了。