继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【DB优化1】高并发数据库读写分离架构

2022-04-17 22:49:5930544浏览

风间影月

10实战 · 54手记 · 8推荐
TA的实战

在微服务开发中,随着业务量数据量的提升,数据库必定遭遇高并发等风险。这里我们可以先来看一下如下图:

http://img1.sycdn.imooc.com/625c28340001b5ea08920686.jpg

这是一个典型的微服务实例,假设现在有一个订单微服务(可以是一个服务集群),这个服务必定对应一个业务库,那就是订单数据库,订单微服务处于一整个服务调用的链路中,他会被其他微服务来进行调用,可以是rest请求也可以是rpc等调用。

这个订单库是单库,单库在高并发的情况下必定出现瓶颈。此时,我们需要进行一定的优化。

根据“二八原则”,80%都是读请求,甚至更多,20%都是写请求,甚至更少。所以绝大多数的业务场景之下都是高并发读。假设我们现在的目的是,要提高并发读的性能以及高可用读。那么这个时候我们可以将单数据库优化为如下:

http://img3.sycdn.imooc.com/625c283f00015ec317801036.jpg

从图中可以看到,用户的请求并不是全部都到达一个单库,而是会被分流,这是一个非常典型的读写分离架构。一个主库对应三个从库,主从之间通过binlog进行数据复制,而且主从的表数据结构完全一致,数据也都一样。

像这样的一个主从架构可以保证高性能读以及高并发读,如果读库集群再次达到瓶颈则可以继续进行水平扩展。



打开App,阅读手记
“小礼物走一走,来慕课关注我”
赞赏支持
风间影月说
去围观
创业公司技术总监, 10年+开发和技术管理经验。SUN认证SCJP、PMP、MCP认证。主要从事后端技术和架构领域,有丰富的电商平台与物流平台核心系统的架构设计和开发经验。
发表评论
随时随地看视频慕课网APP

热门评论

我在想要不要把一部分学习的技术笔记分享到手记里?感觉手记的文章质量很高呀~

赞👍

我在想要不要把一部分学习的技术笔记分享到手记里?感觉手记的文章质量很高呀~

查看全部评论