云数据库MySQL实践案例技术分析

举报
tony 发表于 2017/12/26 11:17:25 2017/12/26
【摘要】 云数据库MySQL是华为云推出基于MySQL的数据库服务,提供了实例管理、实例访问、备份与恢复、实例监控、弹性伸缩、日志管理、参数配置等丰富功能。本文提供了实际案例分享,使用DDM + RDS解决方案来解决读写分离。

大家下午好,先做一个简单的调查,看看在座的各位有没有接触MySQL,有接触过的举一下手,看样子大部分都是接触过或者用过MySQL,也应了那句话MySQL是全球最流行的开元数据库所言非虚。刚才产品架构师讲的主要是华为云数据库的前沿技术,我作为产品经理主要是从客户的角度来分享一下客户的实践案例。华为云数据库的功能特别多,应用的场景也不少,不可能把所有的场景一一展示出来,这里拿出一个典刑的场景进行分享。

NO1.png

上图是华为云数据库,通常称为RDS的简单示意图,比较直观、全面的展示了RDS主要的功能,可以看一下图的左边,包括了实例管理、实例访问、备份与恢复、实例监控、弹性伸缩、日志管理、参数配置等等功能。也就是说客户自己在线下搭建数据库遇到的一些问题,基本上RDS都帮用户服务化实现了。看一下右上角这块双机热备高可用,这是RDS主要的架构,和大多数云厂商一样,RDS也是采用这种双机热备高可用,当主实例发生故障时候,可以自动切换到备实例,备实例自动升主。如果应用程序流量很大,尤其是读流量很大的时候,可以创建只读实例,目前最高创建5个只读实例来承担读流量。

 

    刚才讲过主实例宕机以后会切换到备实例,那么这些只读实例怎么办?RDS会自动去维护主从复制关系,会把所有的只读实例全部挂到备实例(新主)上面去。在MySQL这个领域里面,主备实例之间和主实例与只读实例之间都是通过MySQL复制的技术来建立复制关系、数据同步的。

但是现在RDS有一个不足的地方,主备实例对外呈现的是一个IP地址,每一个只读实例呈现出来的都是单独的IP地址,那么给客户应用带来一个负担,也就是需要应用程序去决定到底是读写主备库,还是去读只读实例。客户也会经常提到这样的问题,问RDS有没有读写分离的解决方案。

NO2.png


如上图所示,有些客户不了解华为云有专门的读写分离解决方案,于是客户就使用HAproxy自己来搭建。都知道这个HAproxy主要的功能就是负载均衡的,虽然它没有读写分离的功能,那么就想出了左图这样的架构图来做,也就是说应用程序读写主库,然后HAproxy提供一个IP,专门去读只读实例集,由HAproxy做一个负载均衡。这在某种程度上解决了客户的问题。那么这样做有几个缺点,

1、HAproxy需要维护高可用,它自己的单点的问题不好解决,整个的搭建其实也挺复杂,虽然HAproxy使用挺简单,但对客户来说安装、部署、运维还是挺复杂的,

2、应用程序没有一个唯一的连接地址,它需要应用程序去识别是读写主备实例,还是去读只读实例,

那来看看华为云的解决方案。

如上图的右边所示,华为云有一个专门的组件或者服务,叫DDM(分布式数据库中间件),DDM的主要功能是用来做分库分表的,但也有一个附带的功能就是读写分离。引入了DDM以后,比较好的解决了刚才上述碰到的一些问题,DDM是由专门的团队去负责的,运维、部署、高可用不用客户去操心;第二个最大的优点应用程序再也不用应用去识别是读写主备实例,还是读写只读实例,也就是做到了真正的读写分离。对于该解决方案,有实际的案例,我们来看一下。


NO3.png

这是一个客户案例,左边是架构图,红色框就是DDM和RDS。该业务特点就是互联网领域初创型公司遇到的最典型场景,读写比较高(8:2),单独的一个主库压力是比较大的,另外,IT运维比较弱,采用我们这个解决方案以后,不仅仅是使用了我们华为的RDS和DDM,实际上是使用了一整套的华为云服务,包括其他的服务也是有的。使用了该解决方案以后,系统稳定性大幅度提升,运维成本降低了70%,人工成本降低了50%。

NO4.png


讲了这么多,这个东西会不会很复杂?因为云服务典型特点就是只要在console上点击几下鼠标,或者调用API就可以轻松部署,所以使用起来非常简单。部署这样的解决方案大体上是分为6个步骤,听起来很多,实际上是很简单的,

1、购买RDS主备实例和只读实例;

2、购买数据库中间件实例;

3、导入实例;

4、同步只读副本(可选),

5、创建逻辑库。

整个步骤都仅仅需要点击鼠标,或者调用OpenAPI来完成,完成以后就会提供唯一的读写分离访问地址。最后欢迎大家来体验RDS和DDM,谢谢大家。



NO5.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。