1.前端优化
①:尽量避免多次请求后端,可以在按钮请求后置灰,避免重复点击请求
②:如果访问量很大时,可以在几秒内不可再次请求(如秒杀场景,抢票场景时)
2.后端优化
①:避免大量请求数据库,可以使用redis(单线程,内存存储的)这种缓存机制
②:通过消息队列,RabbitMQ处理操作数据库的逻辑,肖峰
3.数据优化
①:数据量少的话,通过优化sql语句(in,like这种全表查的少用)及添加索引来优化
②:数据量多的话,通过分表分库,读写分离(读写放到不同的数据库服务器上)等操作
4.服务器优化
①:尽可能多的服务器,服务器尽可能配置高点
②:通过Nginx的负载均衡,将请求分发到不同的服务器上,避免同一个服务器的压力过大
③:通过网关 + RabbitMQ + 微服务