高性能
技术指标:响应时间、吞吐量、并发数
- 前端优化手段
- 页面布局:css在前,js在后
- 通信数据量:数据尽量精简
- 缓存:浏览器缓存、cdn
- 异步:ajax
- 后端优化手段
- 缓存:反向代理、redis
- 异步:消息队列
- 负载均衡:减轻负担
- 代码优化:资源复用、垃圾回收、数据结构、多线程
- 数据库优化:sql、索引、分库分表
可用性
技术指标:网站年度可用性指标 =(1-网站不可用时间/年度总时间)×100%
- 服务高可用
- 水平扩展:横向扩展,负载均衡
- 失效转移:某个故障时,自动转移到可用服务
- 限流降级:限制高并发访问量
- 熔断隔离:分级管理,保重舍轻
- 幂等性:多次调用,结果一致
- 数据高可用
- 数据备份:定期备份,以备不时之需
- 失效转移:某台故障时,自动转移到可用数据库
- 数据恢复:当机,报警,及时处理和恢复
- 数据一致性:最终一致性
- 运维保障
- 监控预警:全方位立体化监控,快速定位问题
- 系统发布:预上线、灰度发布、自动化测试
- 代码控制:版本管理
安全性
- 攻击与防御
- XSS攻击:攻击者诱使用户点击一个嵌入恶意脚本的链接,攻击者可以通过XSS攻击,偷取用户Cookie、密码等重要数据,进而伪造交易、盗窃用户财产、窃取情报。
- CSRF攻击:跨站请求伪造,即以用户的身份伪造请求。
- SQL注入:攻击者在HTTP请求中注入恶意SQL命令,从而达到破坏的目的。
- 信息加密
- 单向散列加密:对信息进行单向的散列计算,算法有:md5、sha。
- 对称加密:使用同一个密钥进行加密和解密,算法有:DES、RC。
- 非对称加密:加密时用公钥,解密时用私钥,私钥只有所有者知道。算法有RSA。
可扩展
当需求或负载增加或减少时,可轻松添加或减少相应配置。
- 垂直扩展:升级处理器、增加内存、磁盘、带宽或进行其他增加功率的更改。
- 水平扩展:横向添加新机器,来提升系统处理能力。
可复用
- 沉淀公共组件
- 微服务
易维护
- 代码结构和注释清晰
- 配置化管理
- 文档完备