server端和前端的区别
1、服务稳定性
server端可能会遭受各种恶意攻击和误操作
单个客户端可以意外挂掉,但是服务端不能
node中用pm2做进程守候,一旦挂掉,自己会重启
2、考虑内存和cpu(优化,扩展)
客户端独占一个浏览器,内存和cpu都不是问题
server端要承载很多请求,cpu和内存都是稀缺资源
node用stream写日志,使用redis存session
3、日志记录
前端也会参与写日志,但只是日志的发起方,不关心后续
server端要记录日志,存储日志,分析日志,前端不关心
nodejs会有多种日志记录方式,以及如何分析日志
4、安全
server端要随时准备接收各种恶意攻击,前端则少很多
如越权操作,数据库攻击等
nodejs会登陆验证,防止越权操作。预防xss攻击和sql注入
5、集群和服务拆分,上亿个pv
产品发展速度快,流量可能会迅速增加
如何通过扩展机器和服务拆分来承载大流量?
nodejs是单机器开发,但是从设计上支持服务拆分