zoukankan      html  css  js  c++  java
  • 简单说说RDS的主从功能是如何实现

    什么是RDS高可用

    目前睿江云已经推出的RDS数据库,也已经将以上提到的高可用,进行了融合。用户无需进行上面的配置,直接选购即可使用。

     

    相信不少的读者朋友,数据库的使用经验,相信使用的最多得应该是MYsql这个数据库软件了。如果一台系统能够不间断的提供服务,那么这台系统的可用性据说100%。那如果系统每运行100个时间单位,就会出现1个时间单位无法提供服务,那么该台系统的可用性是99%。数据库除了定期备份还需要实现冷热备份。甚至可以在全球范围内部署灾备数据中心。

     

    常见的RDS高可用思路

    主主模型,双方互为主备。可以负载均衡读请求,但是无法负载写请求,因为每份数据都会在两台主机中写入。

    主备模型。写入服务器作为主服务器,读数据服务器作为从服务器,从服务器可以有多台,因此都可以做到读负载均,引入了memcache的机制也是可以的。

    主主模型和主备模型,都是可以实现读负载均衡,但是无法实现写负载均衡。

     

    最简单的主备模型是如何实现的

    下面是关于一个数据库主从复制的大体模型

     

    1、主节点上的操作:
    
    //启动二进制日志,为master设定全局唯一的ID号
    [mysqld]
    Log_bin=mysql-bin
    Server_id=1
    
    //创建具有复制权限的用户账户
    GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repluser'@'121.201.%.%' IDENTIFIED BY 'replpass';
    FLUSH PRIVILEGES;
    
    //重启mysql之后,查看master的状态,记录二进制文件跟位置
    mysql> show master status;
    +------------------+----------+--------------+------------------+-------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
    +------------------+----------+--------------+------------------+-------------------+
    | mysql-bin.000001 |      154 |              |                  |                   |
    +------------------+----------+--------------+------------------+-------------------+
    
    提示:如果是ubuntun系统的话,默认是不允许数据库远程访问的,因此可以修改监听的地址bind_address = 0.0.0.0
    
    
    
    
    2、从节点上的操作
    //启动中继日志,为slave节点设定全局唯一的ID号
    [mysqld]
    Relay_log=relay-log
    Server_id=2
    
    //重启mysql
    
    
    //登录指定复制权限权限指向master服务器,并启动复制进程
    CHANGE MASTER TO MASTER_HOST='121.201.55.49', MASTER_USER='repluser',MASTER_PASSWORD='replpass',MASTER_LOG_FILE='master-bin.000001',MASTER_LOG_POS=154;
    
    //或者使用较为直观的方式查看
    mysql> CHANGE MASTER TO MASTER_HOST='121.201.55.49',
        -> MASTER_USER='repluser',
        -> MASTER_PASSWORD='replpass',
        -> MASTER_LOG_FILE='mysql-bin.000001',
        -> MASTER_LOG_POS=0;
    
    
    //启动复制线程
    Start slave;//默认启动2个线程
    START SLAVE IO_THREAD;
    START SLAVE SQL_THREAD;
    
    //查看线程是否启动正常
    mysql> SHOW SLAVE STATUSG
    

    如果看到以上的两个进程都是running的,那么则表示做基本的主从已经实现了。各家的云厂商的高可用策略设计都有所不同,但如果是简单级别的高可用方案,也会采用主从同步的方式。

    本篇简单的分享了一个简单的主从同步配置案例,感兴趣的朋友们可以按照以上的步骤进行尝试,笔者在centos7系列的环境中搭建过多次,都是成功的。另外目前睿江云已经推出的RDS数据库,也已经将以上提到的高可用,进行了融合。用户无需进行上面的配置,直接选购即可使用。

    以上都是笔者在实际过程中用到的一些解决方案,只有适合业务本身的方案才是好方案。许多时候并不一定追寻最新的前沿技术,只有在充分了解自身业务的本质需求的前提下,才能挑选出最适合的解决方案,其次在稳定性的基础下适当向功能性方面拓展。另外本系列也会后续跟读者朋友分享其他的常见的容器应用的搭建,敬请关注。

  • 相关阅读:
    GDC快讯,腾讯CMatrix布局云游戏B端领域
    如何测试小程序? 腾讯智慧零售保障优衣库小程序体验优化
    一分钟读懂兼容报告:测试过程视频复现,问题定位很轻松
    一到秒杀就瘫痪?压测大师保你后台稳健
    how2j-springcloud-摘抄
    问题1
    springcloud---how2java--记录零碎的信息
    how2java-springcloud-demo
    oracle 查两个日期之间数据有多少条
    非官网渠道下单导致的错误
  • 原文地址:https://www.cnblogs.com/eflypro/p/14236849.html
Copyright © 2011-2022 走看看