node.js 从零开发 — 基础知识
2021-04-27 本文已影响0人
jia林
服务端开发和前端开发的区别
1.服务稳定性
- 服务端可能会遭受各种恶意攻击和误操作
- 单个客户端可以意外挂掉,但是服务端不能 (使用PM2做进程守候)
2.考虑内存和CPU (优化、扩展)
- 客户端独占一个浏览器,内存和CPU都不是问题
- 服务端要承载很多请求,内存和CPU都是稀缺资源 (使用stream写日志,使用redis存session)
3.日志记录
- 前端也会参与写日志,只是日志的发起方,不关心后续
- 服务端要记录日志、存储日志、分析日志
4.安全
- 服务端要随时准备接收各种恶意攻击,前端则少很多
- 如:越权操作、数据库攻击
- 预防XSS 攻击和sql注入
4.集群和服务拆分
- 产品发展速度快,流量可能会迅速增加,通过扩展机器和服务拆分来承载大流量(如将数据库单独拆分成一台服务器,将redis单独进行拆分)
架构图
![](https://img.haomeiwen.com/i6177806/65b101f14051d697.png)
接口设计
![](https://img.haomeiwen.com/i6177806/c373ed5a8ebe070e.png)
基础知识
![](https://img.haomeiwen.com/i6177806/ee2adb78027e242b.png)