项目总结(其他问题) | 学习笔记

简介: 快速学习 项目总结(其他问题)

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot) 项目总结(其他问题)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/667/detail/11567


项目总结(其他问题)


内容简介:

一、项目与产品

二、测试要求

三、企业中的项目(产品)开发流程

四、系统角色和数据库设计

五、视频点播的实现(流媒体的实现)

六、前后端联调常遇到的问题

七、项目组人数与人员构成

八、分布式系统的 CPA 原理

九、前端渲染和后端渲染的区别

十、架构图


一、项目与产品

项目是所有都从零开始搭建,而产品则是已经做出来但可以根据客户的需求来定制性开发。

oa 系统为办公自动化系统,其中典型的模块为审批流程,每个公司的审批流程不同,但都是审批,这就是产品,所以产品则是基本性功能,但可以根据公司的不同需求来定制性开发。


二、测试要求

(1)QPS

· 含义:经常用每秒查询率来衡量域名系统服务器的机器的性能,其即为 QPS。

· 公式:QPS = 并发量/平均响应时间

· 首页和视频详情页 qps 单机 qps 要求2000+。


三、企业中的项目(产品)开发流程

1、一个中大型项目的开发流程:

(1)需求调研(产品经理)

(2)需求评审(产品/设计/前端/后端/测试/运营)

(3)立项(项目经理、品管)

(4)UI 设计

(5)开发

· 架构、数据库设计、API 文档、MOCK 数据、开发、单元测试

· 前端

· 后端

(6)前端后端联调

(7)项目提测:黑盒白盒、压力测试(gps)loadrunner

(8)bug 修改

(9)回归测试

(10)运维和部署上线

(11)灰度发布

(12)全量发布

(13)维护和运营

2、流程中重要的步骤如下:

(1)开发

· 架构、数据库设计、API 文档、MOCK 数据、开发、单元测试  

· 前端

· 后端

(2)前端后端联调

(3)bug 修改

3、在一个项目的完整开发过程中,最重要的部分为需求,需要围绕需求来实现。


四、系统角色和数据库设计

此项目中只有两种角色:系统管理员、运营人员。

数据库设计的设计关系:如课程描述、分类、讲师以及权限五张表等。


五、视频点播的实现(流媒体的实现)

大多数公司的视频是通过第三方平台的内容

此项目接入阿里云的云视频点播,云平台上的功能包括视频上传、转码、加密、智能审核、监控统计等,还包括视频播放功能,阿里云还提供了一个视频播放器。


六、前后端联调常遇到的问题

· 前后端联调:接口由自己来写,前端由公司去做,之后接口要部署上,前端要调用接口,查看过程是否正确,即为前后端联调。

· 常见问题:

1、请求方式 post、get

2、json、x-wwww-form-urlencoded 混乱的错误

3、后台必要的参数而前端省略了

4、数据类型不匹配

5、空指针异常

6、分布式系统中分布式 id 生成器生成的 id 长度过大(19个字符长度的整数),js 无法解析(js 智能解析16个长度)

id 策略改为 ID_WORKER_STR


七、项目组人数与人员构成

说明问题时不要教条

一般后端比前端要多

·要符合实际情况,一般对于小公司来说一人身兼多职比较符合实际情况


八、分布式系统的 CPA 原理

(1)含义:指在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partition tolerance(分区容错性),三者不可同时获得。

一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(所有节点在同一时间的数据完全一致,越多节点,数据同步越耗时)

可用性(A):负载过大后,集群整体是否还能响应客户端的读写请求。(服务一直可用,而且是正常响应时间)

分区容错性(P):分区容错性,就是高可用性,一个节点期了,并不影响其它的节点(100个节点,挂了几个,不影响服务,越多机器越好)

(2)zookeeper 为注册中心


九、前端渲染和后端渲染的区别

前端渲染是返回 json 给前端,通过 javascript 将数据绑定到页面上

后端渲染是在服务器端将页面生成直接发送给服务器,有利于 SEO 的优化


十、架构图

image.png

要着重体现 Gateway 网关、Nacos 注册中心、微服务架构、数据库分库、Git 等等。

相关文章
|
资源调度 前端开发 编译器
Stenciljs 学习之搭建项目
Stencil 是一个生成 Web Components(更确切地说,是自定义元素)的编译器。Stencil 将最流行的框架的最佳概念结合到一个简单的构建时工具中。 学习一个框架肯定是重创建项目开始啦!现在就让我们一起学习一下怎么创建项目吧。
113 0
|
前端开发 JavaScript API
前后端分离项目知识汇总(整合课程发布)
前后端分离项目知识汇总(整合课程发布)
92 0
|
前端开发 vr&ar Android开发
百思奇解项目笔记
百思奇解项目笔记
379 0
百思奇解项目笔记
|
移动开发 前端开发 JavaScript
项目介绍 | 学习笔记
快速学习 项目介绍
103 0
项目介绍 | 学习笔记
|
JavaScript 前端开发 NoSQL
项目技术点介绍 | 学习笔记
快速学习 项目技术点介绍
109 0
项目技术点介绍 | 学习笔记
学习笔记jira项目1-课程导学
学习笔记jira项目1-课程导学
72 0
学习笔记jira项目1-课程导学
JavaWeb课程复习资料(十)——修改功能
JavaWeb课程复习资料(十)——修改功能
143 0
JavaWeb课程复习资料(十)——修改功能
JavaWeb课程复习资料(八)——添加功能
JavaWeb课程复习资料(八)——添加功能
180 0
JavaWeb课程复习资料(八)——添加功能
JavaWeb课程复习资料(九)——删除功能
JavaWeb课程复习资料(九)——删除功能
168 0
JavaWeb课程复习资料(九)——删除功能
|
XML 前端开发 JavaScript
总结项目问题 | 学习笔记
快速学习 总结项目问题