假如数据库连接数只有1000,怎么处理100万的并发量呢?不能用负载均衡,有别的办法吗?

发布于 2022-09-07 22:00:49 字数 28 浏览 21 评论 0

求大佬们给个思路,这是我上午的面试题。。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

中性美 2022-09-14 22:00:49

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

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

记忆で 2022-09-14 22:00:49

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

深空失忆 2022-09-14 22:00:49

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

帅气称霸 2022-09-14 22:00:49

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

空名 2022-09-14 22:00:49
  1. 缓存,就可以不走数据库
  2. 消息队列,可以限制到数据库的数量,减缓压力
  3. 连接池管理,复用连接,等待管理。
  4. 数据库优化,读写优化,提升数据库的效率。
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文