我的编程空间,编程开发者的网络收藏夹
学习永远不晚

去哪儿黄勇:去哪网数据库架构发展历程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

去哪儿黄勇:去哪网数据库架构发展历程

  2005年2月,去哪儿在北京成立,去哪儿网的数据库也搭建完成。去哪儿网数据库架构师黄勇在SACC大会现场打趣道,那时的数据库就是一个小作坊模式,单机房内的MySQL架构。在这之后,去哪儿网数据库架构共经历了四个阶段,逐渐过渡到今天的跨机房QMHA架构,可异地部署还可保证高可用和安全性。这一路走来,是什么推动了去哪儿网的数据库架构变迁?又遇到了哪些问题?如何解决的呢?

去哪儿黄勇:去哪网数据库架构发展历程

  Qunar萌芽与发展期—单机房内的MySQL到单机房内的MMM

  业务发展和技术都相对不太发达的过去,MMM架构是非常受欢迎的一种部署方式,当时广泛应用于各大公司内部。黄勇表示,随着业务发展,这种简单的MMM架构逐渐暴露出了许多问题,比如运维复杂,需要绑定VIP,部署和修改配置文件,周边监控工具也十分匮乏。其次,网络分区也存在很大问题,Master“假死”导致误切换,数据库双写导致数据错乱,VIP没有漂移或者漂移失败等。

  2012年,MySQL 5.6以上版本新特性开始不支持,这也标志着MMM时代的彻底结束。

  Qunar飞速发展期—同机房PXC架构

  随着业务的急速增长,推动了架构的又一次革新。去哪儿网开始应用PXC架构,新加入了哨兵集群,此时的架构已经可以自动failover、手动switchover、读写分离、负载均衡、namespace服务,全局唯一、透明、扩容、迁移和升级。PXC单节点读取可达5W qps,写入可达15K qps。

  去哪儿网之所以后来会放弃PXC选择QMHA,还是因为PXC自身存在一定的局限性。比如节点间机器木桶短板效应、客户端容易雪崩;大事务和密集事务导致PXC节点压力高,fc产生;DDL操作会杀死其他事务,但DDL不能取消;相互校验导致写入性能下降,切换时不影响前端写入,但尽量不要长时间多写;机房间网络延迟高影响客户端QPS,且机器节点越多,QPS影响越大;PXC和MGR等新兴结构导致DBA学习成本变高,需要长期的学习和经验才可以掌握。

  Qunar平稳期—跨机房QMHA架构

  2015年至今,去哪儿网采用跨机房QMHA架构。GTID易于维护和切换,主从节点间可知数据差异,分布式哨兵减少误切换和网络分区raft算法,提高数据节点一致性的同时提高集群安全性和可用性,多线程复制且可以跨机房和网段部。全局namespace通知客户端更新配置。

去哪儿黄勇:去哪网数据库架构发展历程

  黄勇表示,日后跨机房QMHA架构会逐渐解决自动补全binlog、延迟处理和权重控制等问题,MHA可以自动补全binlog,PXC可以IST QMHA需要能在failover后自动补全binlog给原master节点,PXC和QMHA都需要做到只读数据源可以根据权重配比进行流控,有助于对特殊机器的特殊处理。

  经历了四个阶段的发展,去哪儿网的数据库架构日趋稳定,足以满足日常业务所需。去哪儿网开发的DBA操作平台—补天融合了去哪儿网数据库整个团队的经验和智慧,如果你感兴趣,不妨来试试!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

去哪儿黄勇:去哪网数据库架构发展历程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

去哪儿黄勇:去哪网数据库架构发展历程

2005年2月,去哪儿在北京成立,去哪儿网的数据库也搭建完成。去哪儿网数据库架构师黄勇在SACC大会现场打趣道,那时的数据库就是一个小作坊模式,单机房内的MySQL架构。在这之后,去哪儿网数据库架构共经历了四个阶段,逐渐过渡到今天的跨机
2023-06-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录