1,高并发
并发量指标
压力测试
使用分布式负载均衡,缓存,消息队列,服务降级来实现
2,数据库
分布式部署:主从复制,读写分离
数据库设计
3,高可用
集群化
自动故障转移
数据容灾备份
4,分布式:系统部署方式
参考:
https://blog.csdn.net/armygan/article/details/79964678
其实,分布式系统说白了,就是很多机器组成的集群,靠彼此之间的网络通信,担当的角色可能不同,共同完成同一个事情的系统。如果按”实体“来划分的话,就是如下这几种:
节点
网络
存储
5,微服务:一种架构设计方式
就是服务拆分
6,连接池:
访问数据的时候不用每次都建立连接,而是使用连接池里面连接好的对象
7,负载均衡
nginx反向代理转发请求,分担访问流量
8,rpc
远程过程调用
9,消息队列
异步:提供性能
解耦:并发问题串行化
削峰:解决高并发
10,分布式锁
分布式和高并发环境下,多台机器上多个进程对一个数据进行操作,如果不做互斥就会出现
多个访问方对同一个资源进行操作,需要进行互斥,通常是利用一个这些访问方同时能够访问到的lock来实施互斥的。
11,缓存
穿透:请求缓存中没有的数据,直接请求数据库;数据库没查到就写空值到缓存
雪崩:缓存抗不住,直接攻击数据库导致数据库也扛不住;缓存高可用+限流&降级+缓存持久化
击穿:热点数据失效瞬间,导致数据库扛不住;热点数据缓存永不过期
12,微服服架构
参考:
https://zhuanlan.zhihu.com/p/96921529
服务注册与发现
服务熔断
服务限流
配置中心