【mysql 读写分离】10分钟了解读写分离的作用

发布时间:2021-10-28 22:16:25

1、what 读写分离?
在代码中根据select 、insert进行路由分类,这类方法也是目前生产环境下应用最广泛的。优点是性能较好,因为程序在代码中实现,不需要增加额外的硬件开支,缺点是需要开发人员来实现,运维人员无从下手。

  • 1
  • 2

    2) 基于中间代理层实现


    代理一般介于应用服务器和数据库服务器之间,代理数据库服务器接收到应用服务器的请求后根据判断后转发到,后端数据库,有以下代表性的程序。

    • 1
    • 2

      (1)mysql_proxy。mysql_proxy是Mysql的一个开源项目,通过其自带的lua脚本进行sql判断。


      (2)Atlas。是由 Qihoo 360, Web*台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性。360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条。支持事物以及存储过程。


      (3)Amoeba。由阿里巴巴集团在职员工陈思儒使用序java语言进行开发,阿里巴巴集团将其用户生产环境下,但是他并不支持事物以及存储过程。


      经过上述简单的比较,不是所有的应用都能够在基于程序代码中实现读写分离,像一些大型的java应用,如果在程序代码中实现读写分离对代码的改动就较大,所以,像这种应用一般会考虑使用代理层来实现,那么今天就使用Amoeba为例,完成主从复制和读写分离。


      MySQLProxy介绍?
      下面使用MySQL官方提供的数据库代理层产品MySQLProxy搭建读写分离。?
      MySQLProxy实际上是在客户端请求与MySQLServer之间建立了一个连接池。所有客户端请求都是发向MySQLProxy,然后经由MySQLProxy进行相应的分析,判断出是读操作还是写操作,分发至对应的MySQLServer上。对于多节点Slave集群,也可以起做到负载均衡的效果。



相关文档

  • 秋天的优美诗句
  • 有你真好作文500字
  • 如何在IDEA中创建一个web项目,没有Java EE怎么办,如何勾选Web Application
  • 六年级作文写一件最难忘的事500字
  • 小学雪景手抄报
  • 人教版五年级下册语文幸福是什么课件
  • 胆结石不能吃豆浆吗饮食禁忌
  • 《黑客帝国4》将开拍 回归的不只有基努?里维斯
  • 著名的卷积神经网络
  • 06-4. How Long Does It Take (25)拓扑排序 求关键路径的最长的长度
  • 吃豆记
  • 先进性教育汇报稿:愿化春泥育桃李——代写演讲稿
  • 会计辞职报告共11篇
  • 选择器之伪类与伪元素选择器
  • 运行Android studio报错com.google.android.gms:play-services-appindexing:8.1.0
  • ACM的数学知识体系
  • 古今异义中考语文文言文的复习资料
  • 拼多多到底是怎么拼的
  • 名家长篇美文精选三篇
  • 给妹妹的一封信作文350字
  • 关于读书古诗词大全
  • 链式队列C语言实现详解
  • 致敬爱的父亲
  • 张学勇:父亲是一个农民
  • 比较好听的歌曲做手机铃声
  • 各省2020年国家公务员考试成绩查询(已公布)
  • 使用SSH密钥对远程连接ECS实例
  • 护士资格证注册指南大全
  • jupyter 更换kernel_如何实现更换Jupyter Notebook内核Python版本
  • 成功销售员要控制哪些情绪
  • 猜你喜欢

    电脑版