想做后台服务器架构设计,要把握以下几个因素
1. 要处理多大的数据量
2. 有多少种的数据
3. 延迟有多高
4. 要不要处理通知
通常情况下,数据种类越多,数据量越大,系统架构越复杂; 比如 处理 百万级的请求 一台单机便能搞定,处理上亿次的请求,通常会选用微服务架构;
后台设计中 一个典型的三层架构设计:接入,逻辑,存储, 虽然这个架构不能包治百病,但是从一定程度上通过变型能说明问题;
接入层 通常是要有的,例如 bs 模型中 http 请求通过 nginx 分发, nginx 属于 接入层;cs模型中通常会有长连接, 接入层通常会维护连接,鉴权,路由,以及负责通知;
逻辑层 通常是处理数据,进行运算的, 为了系统稳定可靠, 每个逻辑服务器可能会有多个备份,请求实现负载均衡
数据层 分为数据库以及缓存数据, 这个根据数据量和数据种类而定, 就数据库而言, 关系数据库, 非关系数据库,文件,kafka 均可以当数据库来用,当数据库遇到性能瓶颈时,我们通常会引入缓存,来缓解数据库压力; 至于缓存击穿,缓存与数据库同步属于另外的问题;
<