数据库读写分离

如果读写分离可以解决性能问题,不需要使用第三方,代码里实现 getReadConnectiongetWriteConnection 即可,使用第三方会增加部署复杂性

分表分库那种方式好

分库,分表并没有减少库的数据量,而且分库在扩展上只需要添加库的实例就行了

Nginx 双机高可用方法目前分为两种

  1. Nginx + keepalived 双机主从模式:即前端使用两台服务器,一台主服务器和一台热备服务器,正常情况下,主服务器绑定一个公网虚拟IP,提供负载均衡服务,热备服务器处于空闲状态;当主服务器发生故障时,热备服务器接管主服务器的公网虚拟IP,提供负载均衡服务;但是热备服务器在主机器不出现故障的时候,永远处于浪费状态,对于服务器不多的网站,该方案不经济实惠。
  2. Nginx + keepalived 双机主主模式:即前端使用两台负载均衡服务器,互为主备,且都处于活动状态,同时各自绑定一个公网虚拟IP,提供负载均衡服务;当其中一台发生故障时,另一台接管发生故障服务器的公网虚拟IP(这时由非故障机器一台负担所有的请求)。这种方案,经济实惠,非常适合于当前架构环境。

读多写少使用缓存

写多读多,读用缓存,写拦截在数据库的上层,H5客户端做拦截(点击置灰,请求多次提示刷新频率过快),反向代理层过滤,web层过滤:token 加 cokie id验证,服务层查缓存过滤,有效在进行写入,产品设计过滤