1. 高并发解决,大型网站设计
我想高并发问题解决方案要同时考虑硬件和应用程序优化两方面。硬件方面包括水平架构和垂直架构。
垂直架构是增强服务器硬件配置,这个只能到达一定程度,并有资金限制,一般不可取。
水平架构的话我想从小到大说出演化过程。
- 一台服务器,包括应用程序、数据库、文件
- 3 台服务器:应用程序服务器(cpu 给力),数据库服务器(硬盘读写快,内存),文件服务器(硬盘大)
- 增加 分布式缓存服务器集群(memcached,redis)
- 负载均衡调度器(http 重定向、DNS 域名解析、反向代理 nginx、IP、数据链路层三角传输) + 应用程序服务器集群
- 数据库 读写分离(主:写,从:读),主从复制
- 分布式文件服务器集群 + 数据库集群
- CDN 服务器集群 + 反向代理服务器集群
- nosql + 搜索引擎服务器
- 按照业务拆分:用户中心 A、店铺 B、订单 C 划分不同的应用程序服务器集群。之间通信通过 消息队列服务器