(文末有彩蛋)

简介

RDS为用户提供高透明,高可用,高性能,高灵活的读写分离服务。在最近的版本我们基于短连接的用户进行了优化,使得短连接的用户负载均衡更加完善合理。RDS读写分离有如下特性:

  • 易用/透明性

用户只需要在原来的只读实例的主实例上开通一个读写分离的VIP就可以使用读写分离,而不需要修改任何业务代码。对用户的接入成本几乎为0。

  • 高可用

RDS读写分离服务能够主动判断只读库的健康情况(包括节点crash,主备同步异常,延迟较大等),对于不健康的只读库不再进行路由,从而保证系统的整体可用性。同时在故障节点恢复后重新按权重进行负载均衡。

  • 高性能

RDS的读写分离服务,由RDS的中间件服务提供路由及负载均衡,对于读多写少的业务能够充分利用只读库的资源,使得整体业务性能得到显著的提高。

  • 高灵活

RDS的读写分离服务为用户提供按权重的请求及连接双重负载均衡模式,用户可以根据自己只读库的硬件资源情况,对每个只读库设置相应的读权重,同时也支持把主库放到读列表里,分担部分读请求。

另外,为用户提供读库同步延迟的可用性配置,当用户对数据的实时性要求较高的话,用户可以通过调小该值来保证只有在只读库与主库的同步延迟小于该值时,读写分离服务才会把读请求路由到该只读库。

扩容更灵活,用户可以随着业务的增长适当的扩容只读库,而这个也只需要在控制台上下发一个扩容请求就可以,无需业务上做任务调整。

提供特定的hit语法:如/FORCE_MASTER/ /FORCE_SLAVE/,方便用户指定SQL到master或slave上执行;以及/PROXY_INTERNAL/show last route查看sql路由情况等。

场景应用

随着业务增长,数据越来越大,用户对数据的读取需求也随之越来越多,比如各种AP操作,都需要把数据从数据库中读取出来,同时,随着数据量的增加,读请求的性能消耗也可能随之增加,从而导致影响到用户的写请求,反之亦然,写请求也可能会影响到用户的读请求,使得DB的总体吞吐量下降。为了解决该问题,RDS之前提供了只读实例的方案,用户可以通过开通多个只读实例,将读请求业务直接连接到只读实例上,该方案能够解决上述问题,但引来的问题也很明显,用户的使用成本增大了:需要手动区分读写业务,有多个访问地址维护性差,无法做负载均衡,容易受只读实例的可用性影响等。

RDS云数据库读写分离就是为了解决如上问题而产生的。用户只需要一个请求地址,业务不需要做任何修改,由RDS自带的读写分离中间件服务来完成读写请求的路由及根据不同的只读实例规格进行不同的负载均衡,同时当只读实例出现故障时能够主动摘除,减少对用户的影响。对用户达到一键开通,一个地址,快速使用。

架构简介

图1 用户链路视图

对于用户来说看到的还是一个普通的mysql连接,只是这个连接先直接访问RDS的中间件服务,再由中间件服务进行转发,对用户来说是完全透明的。

  • 内部框架

图2 RDS中间件内部组件

RDS中间件服务的读写分离功能,主要由图2所示的模块组成。

  • RW SESSION:每个用户连接对应的RDS中间件服务里的一个rw session,其中主要维护着一个与主库的socket以及与只读库的ro_session,同时负责session状态的保持及恢复
  • RO SESSION:负责与只读库的请求处理
  • ROUTE STRATEGT:该模块也是读写分离的核心模块,负责sql的路由决策
  • LB:load balance,负责读请求的负载均衡,使用常用的weighted round robin算法
  • QOS:负责只读库的健康检查

PS:当前PGSQL暂时不支持读写分离

总结

RDS云数据库自带的读写分离服务能够有效的解决用户数据量大读请求多,带来的DB吞吐量下降等问题;一键开通、一个地址、快速使用极大的减少了用户的使用成本;配置灵活,自动检测消除了单点故障提高了系统的可用性。

这里是彩蛋

感谢各位小伙伴的耐心阅读,现在参加MySQL读写分离微博转发活动还有机会获得天猫精灵以及阿里云T恤。

点击云栖社区官方微博活动链接:https://weibo.com/1939498534/FymI1zPYp?type=comment

友情链接:

读写分离help

开通介绍

RDS读写分离,海量数据一键搞定相关推荐

  1. 【可乐荐书】Python自动化办公应用大全(ChatGPT版):从零开始教编程小白一键搞定烦琐工作

    本栏目将推荐一些经典的.有趣的.有启发性的书籍,这些书籍涵盖了各个领域,包括文学.历史.哲学.科学.技术等等.相信这些书籍不仅可以让你获得知识,还可以让你感受到阅读的乐趣和魅力. 今天给大家推荐的书籍 ...

  2. 高考估分查分选志愿一键搞定_支付宝又操办了件人生大事

    摘要: 可能比高考更考验心力的填报志愿,支付宝要帮你一键搞定. 支付宝今天正式上线集估分.查分.选志愿等众多服务于一体的高考后综合服务平台,陪伴高考学生的青春大考.考生在估分.查分后,还可以看到系统智 ...

  3. vbn中使用的3种流程控制结构是_细菌进化树构建:从模式种序列下载到构建系统发育树一键搞定...

    细菌进化树 • 构 建 细菌进化树构建:从模式种序列下载到构建系统发育树一键搞定 对于细菌新种或者新属的发现,总是那么让人期待,但是当我们批量获得16S序列后,逐一对这些尚不知分类地位的序列进行比对并 ...

  4. access横向求和sum_数据横向、纵向及交叉求和,同事用Alt+=号一键搞定!不需要函数...

    数据求和相信许多同学都知道如何操作,在我们的表格中求和的时候,许多同学都是会手动输入sum函数进行数据求和.如果只是一列或者一行数据,我们用sum函数还是挺简单的. 如上图所示,如果我们需要对单元格区 ...

  5. 一键搞定黑白照片上色,模糊的老照片瞬间变清晰

    相信每个人家里都会有一些老照片,闲来时翻了翻相册里那些[老照片],他们是父母年轻时候的爱情,也是自己的童年回忆.只可惜有的照片因为年代久远,现在已经开始模糊不清了,有的甚至是黑白的充满了老旧气息. 虽 ...

  6. UnityHub 无需登录 傻瓜教程 一键搞定

    UnityHub 无需登录 傻瓜教程 一键搞定 前言 一.下载相关的工具 二.选择文件夹路径 总结 版权声明 前言 今天一个组的小姐姐来找我,说她的UnityHub经常要她登录,感觉特别繁琐,问我有没 ...

  7. 讯飞智能语音鼠标G50:AI语音、转写翻译、记录截图一键搞定!

    随着互联网的发展,智能鼠标已经成为我们生活和工作中不可或缺的组成部分.然而,鼠标滚轮异响.按键失灵.驱动难用.手感不合适等一系列问题仍时有发生,所以选择一款智能鼠标尤为重要,它不仅可以提高我们的工作效 ...

  8. 空间里相片批量导入u盘_多台电脑同步文件还在用 U 盘牵线?GoodSync 帮你一键搞定...

    最近有小伙伴提出了一个问题: 因为数码荔枝对这个问题颇有同感,所以立即提供了圆满解决的方案.在分享方法之前,先消除一些小伙伴可能对此产生的疑问. 为什么要在不同设备中备份相同文件? 我除了自己平时用的 ...

  9. mp4转换成gif无损画质,MP4转换gif一键搞定

    1:mp4转换成gif的方法 如何将mp4转换成gif格式呢?这里介绍一个简单的方法. 首先,准备一个mp4格式的视频文件.然后,使用一个视频转换工具将其转换成gif格式. 2:gif动画制作 如何将 ...

最新文章

  1. 程序员崩溃的10个瞬间
  2. mysql 密码字段加密_phpmyadmin密码字段加密方法
  3. fastica java_发一篇CCF-C论文有多难?
  4. 高密度椒盐噪声的多方向加权均值滤波算法-附代码
  5. 考上研究生就脱单?快来看看这些女生多的大学!
  6. 微信小程序图片上传并移除
  7. cass生成里程文件桩号不全,cass生成桩号
  8. 设置程序在Windows开机后自动运行的方式
  9. 房间匹配机制--自走旗
  10. 网页倒计时制作(js)
  11. html5音频剪辑,访谈类音频剪辑的5个小贴士
  12. python opencv截取视频
  13. 【搜索引擎】Google打不开问题解决
  14. 使用python获取日历信息并制作订阅文件
  15. 一文让你理解什么是shallow heap及retained heap
  16. 判断Checkbox选中两种方法
  17. G6309列车02车05D号
  18. 华为设备VXLAN配置举例
  19. 广告程序万能搜索(无能搜索)WNSO.exe
  20. UI自动化测试AutoIT工具使用

热门文章

  1. 今天被TensorFlowLite刷屏了吧,偏要再发一遍
  2. Facebook 应用机器学习团队专访:人工智能在 Facebook 中的应用
  3. MySQL 性能优化的 9 种姿势,面试再也不怕了!
  4. 分布式系统咋做同步?虐死人!
  5. Java生鲜电商平台-监控模块的设计与架构
  6. 腾讯Elasticsearch海量规模背后的内核优化剖析
  7. 如何阅读一份深度学习项目代码?
  8. 沈腾自比元宇宙DogKing,小扎变身「光头强」!Meta推出3D化身
  9. 逃离谷歌,多年来DeepMind一直在寻求独立:还搞了个「Mario」计划
  10. 笔记本电脑真香,包邮送一台!