1、web负载均衡

1)http重定向
2)七层负载均衡
反向代理负载均衡(浏览器端<->后台web服务器) session一致问题 通过单独的服务器来存储,一般通过redis memchache来实现。
3)四层负载均衡
ip负载均衡 通过修改网络层ip和传输层端口来实现 一般通过lvs来实现。
4)DNS负载均衡
一个域名对应多个ip。
5)dns/gslb负载均衡
按照指定规则映射域名ip,通过cdn方式来实现,按照地理位置,选择离用户最近的ip返回给用户,一般用于解决大小静态资源加载的问题(js、css、图片)。

2、web缓存
1)建立索引
2)使用数据库连接线程缓存池 调整缓存线程的数量 thread_cache_size。
3)分区 分表 分库

3、数据库多台服务器搭建
1)主从备份 通过binlog日志同步(数据库自带多线程同步、实现解析binlog日志,以实现同步)。
2)主库写,从库读,通过binlog日志同步。
1)主主备份 通过binlog日志同步 主库设置为从库,从库也设置为主库。

4、web服务器和数据库之间建立缓存

5、设置空节点处理机制
设置一张简单的记录映射表,将存在的记录存储起来,放入到一台内存cache中,如果有空节点查询,该查询就被挡在cache中了。

6、异地部署
核心集中,节点分散
核心集中:对于一些数据和服务无法部署多套,或部署多套成本很高时,可以考虑将数据和服务部署到一个区域比较集中的地方,通过内网专线来和各个节点进行通讯。
节点分散:将一些服务部署为多套,分布到各个城市节点,让用户选择就近的节点来访问服务。
核心节点的机器可以放在同一机房,分散节点的机器可以放在不同机房。

7、节点容灾和过载保护
节点容灾:当某个节点发生故障时,需要建立一个机制去保证服务仍然可用,一般通过切换到附近节点来提供服务,需要考虑负载均衡和备份。
过载保护:当某个节点接收的请求达到最大后,需要建立一个机制保证节点可以继续接受新的请求,一般通过拒绝服务或是节点分流来实现。