5 个回答

1、用redis将高频查询数据存储。提高查询速度
2、mysql做主从
3、增删改加队列
4、切表分库
5、swoole解决并发
6、有必要时用grpc做服务治理
7、微服务
8、代码分割
。。。。等等等等

又是一个面试造核弹,上班拧螺丝的过程

    首先纠正你一下,负载均衡和你这个问题没有关系。其次是你这个问题也挺有意思的,因为这种场景很难出现。不过,我还是假装你真的遇到了这种极度不平衡的场景。
    1.用好redis,将大量请求工具拦截在在redis层
    2.引入连接池中间件。连接池和mysql是长连接,你不用担心频繁握手带来的性能问题。程序从连接池中取出一个链接句柄,用完后会迅速放回去。可以抵挡一阵儿。
    除此以外,我也不知道还有什么银弹了

      空间换时间,把常用的表都缓存到内存中.

        数据库的话跟负载均衡真没关系。首先是消息队列,数据库主从架构。只是100万并发我觉得通常讲的是网络访问的事情而不是数据库连接数。100万并发不用负载均衡我还真不知道你单台服务器如何承受这访问量。即使是带宽调的足够大,我觉得用户体验也不会很高。

          • 793
          1. 缓存,就可以不走数据库
          2. 消息队列,可以限制到数据库的数量,减缓压力
          3. 连接池管理,复用连接,等待管理。
          4. 数据库优化,读写优化,提升数据库的效率。
            撰写回答

            登录后参与交流、获取后续更新提醒

            相似问题
            推荐文章