高并发服务器架构
1. 请求队列 + 连接池
2. 主要的业务逻辑挪到应用服务器处理,数据库只做辅助的业务处理
3. 缓存
4. 缓存更新(同步),缓存失效(time out),重新去数据库中查询,实时性较差
5. 一旦数据库中数据更新,立即通知前端缓存更新,实时性较好
6. 缓存换页(内存不够,将不活跃数据换出内存),FIFO(先进先出),LRU(最近最少使用least recently used),LFU(最不频繁使用least frequently used)
7. 分布式缓存(redis, memcached)
8. 数据库读写分离
9.对数据库负载均衡:replication机制
10. 数据库分区(分库、分表)
11. 应用服务器负载均衡。增加一个应用服务器来实现,任务服务器可监控应用服务器的负载(CPU,IO,并发,内存换页),选取最低的服务器进行任务分发
服务器性能四大杀手:
1. 数据拷贝 缓存
2. 环境切换 该不该使用多线程,单核服务器(使用状态机编程,效率最高), 多线程能够充分发挥多核服务器性能
3. 内存分配 内存池
4. 锁竞争