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

  

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

  

  去哪儿黄勇:去哪网数据库架构发展历程”>
  </p>
  <p>
  <强>去哪儿萌芽与发展期——单机房内的MySQL到单机房内的嗯</强>
  </p>
  <p>
  业务发展和技术都相对不太发达的过去,嗯架构是非常受欢迎的一种部署方式,当时广泛应用于各大公司内部。黄勇表示,随着业务发展,这种简单的嗯架构逐渐暴露出了许多问题,比如运维复杂,需要绑定贵宾,部署和修改配置文件,周边监控工具也十分匮乏。其次,网络分区也存在很大问题,掌握“假死”导致误切换,数据库双写导致数据错乱,VIP没有漂移或者漂移失败等。
  </p>
  <p>
  2012年,MySQL 5.6以上版本新特性开始不支持,这也标志着嗯时代的彻底结束。
  </p>
  <p>
  <强>去哪儿飞速发展期——同机房PXC架构</强>
  </p>
  <p>
  随着业务的急速增长,推动了架构的又一次革新。去哪儿网开始应用PXC架构,新加入了哨兵集群,此时的架构已经可以自动故障转移,手动切换,读写分离,负载均衡,名称空间服务,全局唯一,透明,扩容,迁移和升级.PXC单节点读取可达5 w每秒,写入可达15 k每秒。
  </p>
  <p>
  去哪儿网之所以后来会放弃PXC选择QMHA,还是因为PXC自身存在一定的局限性。比如节点间机器木桶短板效应,客户端容易雪崩;大事务和密集事务导致PXC节点压力高,fc产生;DDL操作会杀死其他事务,但DDL不能取消;相互校验导致写入性能下降,切换时不影响前端写入,但尽量不要长时间多写;机房间网络延迟高影响客户端每秒,且机器节点越多,每秒影响越大;PXC和经理等新兴结构导致DBA学习成本变高,需要长期的学习和经验才可以掌握。
  </p>
  <p>
  <强>去哪儿平稳期——跨机房QMHA架构</强>
  </p>
  <p>
  2015年至今,去哪儿网采用跨机房QMHA架构.GTID易于维护和切换,主从节点间可知数据差异,分布式哨兵减少误切换和网络分区筏算法,提高数据节点一致性的同时提高集群安全性和可用性,多线程复制且可以跨机房和网段部。全局名称空间通知客户端更新配置。
  </p>
  <p>
  <img src=去哪儿黄勇:去哪网数据库架构发展历程