`
huangyongxing310
  • 浏览: 496259 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

相关数据库主从和集群方法

 
阅读更多
相关数据库主从和集群方法
memcached可以使用magent进行主从同步和分片存储(集群功能)
http://blog.sina.com.cn/s/blog_80413dd90102vbxa.html
1、如果是set操作的话,还会同时往备份memcached写一份,如第三步中127.0.0.1:11411,如果备份库有多个,也会负载均衡;
2、如果是读操作的话,则先判断哈希算法指定的这个memcached是否正常工作,如果正常,则读取此库的数据,如果不正常,则读取备份库的数据;
3、如果一个主库当机了,读取的key在这台机器上,这时会从备份库读取,如果这台机器从当机中恢复了,即使这个key的数据在备份库中有,也不会读取,而只会从主库当中读出null。

运行magent命令时指定那些是从机那些是主机。


Redis
Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis可以配置为主和从。从时要在配置文件中指定主的IP和密码
Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。

主从复制的过程
当设置好slave服务器后,slave会建立和master的连接,然后发送sync命令。无论是第一次同步建立的连接还是连接断开后的重新连 接,master都会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存起来。后台进程完成写文件 后,master就发送文件给slave,slave将文件保存到磁盘上,然后加载到内存恢复数据库快照到slave上。接着master就会把缓存的命 令转发给slave。而且后续master收到的写命令都会通过开始建立的连接发送给slave。从master到slave的同步数据的命令和从 client发送的命令使用相同的协议格式。当master和slave的连接断开时slave可以自动重新建立连接。如果master同时收到多个 slave发来的同步连接命令,只会使用启动一个进程来写数据库镜像,然后发送给所有slave。

分片是通过cluster(会根据crc16(key) mod 16384计算这个key应该分布到哪个hash slot中)

主节点宕机后,从节点会暂时作为主节点来接替主节点的工作,但并不总是能顶替。当出现以下两种情况时,可以认为Redis-Cluster已经宕掉了:
1、如果集群中的主节点宕机后,当前master节点没有slave节点,则集群进入宕机状态,也就是集群的slot映射不成功。(有一个主节点不能工作了就不能工作了)
2、如果集群中的master节点超过一半以上宕机,无论是否有slave节点,集群都会处于宕机状态。


sentinel一个用于在Redis进行主机宕机后使从机成为主机的

http://blog.csdn.net/sk199048/article/details/50725369
http://www.cnblogs.com/liuling/p/2014-4-19-02.html
http://blog.csdn.net/xu470438000/article/details/42971091
(Redis集群_3.redis主从自动切换Sentinel)http://www.2cto.com/database/201502/377061.html
(redis 3.0的集群部署)http://blog.csdn.net/myrainblues/article/details/25881535/

MySQL
Mysql 的 Replication 是一个异步的复制过程,从一个MySQL节点(称之为Master)复制到另一个MySQL节点(称之Slave)。
要实现 MySQL 的 Replication ,首先必须打开 Master 端的 Binary Log,因为整个复制过程实际上就是 Slave 从 Master 端获取该日志然后再在自己身上完全顺序的执行日志中所记录的各种操作。

MySQL的Replication原理非常简单,总结一下:
每个从仅可以设置一个主。
主在执行sql之后,记录二进制log文件(bin-log)。
从连接主,并从主获取binlog,存于本地relay-log,并从上次记住的位置起执行sql,一旦遇到错误则停止同步。

MysqlCluster可以进行集群,Mysqlcluster数据节点组内主从同步采用的是同步复制,来保证组内节点数据的一致性。


()http://blog.csdn.net/yangzhenzhen/article/details/8512292
(MySQL集群)http://blog.csdn.net/chenxingzhen001/article/details/7708663

(二阶段提交协议)最后的提交阶段将是耗时极短,耗时极短意味着操作失败的可能性也就降低。



mongoDb
主节点记录在其上的所有操作oplog,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致。(异步的复制过程)
mongoDb可以配置为主和从,从时要配置主机的IP

复制集群ReplicateSet模式(引入一个仲裁节点,仲裁节点不存储数据。从而达到主宕机后从会变成主的能力)

Replica Set保证高可用,数据分片(Shards)扩展容量

(征服 Mongodb 之 主从复制&集群复制)http://snowolf.iteye.com/blog/1974747
( Mongodb集群搭建的三种方式)http://blog.csdn.net/luonanqin/article/details/8497860
(高可用集群的解决方案)http://www.open-open.com/lib/view/open1476329503902.html


如果要实现高可用性可以用keepalived软件进行。(防止单点故障)

如果要数的安全性必需要一份数据写到多个数据库节点成功后才能认为数据有效,但这就影响了性能和用户体验。

数据节点组内主从同步采用的是同步复制可以保证数据的安全性

数据安全可以从备份,和log放在另一个服务器来确保数据的安全,因为数据写到数据库是先写好日志的。


分享到:
评论

相关推荐

    postgresql12主从集群安装

    【PostgreSQL 12主从集群安装】 在搭建PostgreSQL 12主从集群时,首先需要理解主从复制的概念。主从复制是数据库高可用性的一种常见解决方案,它允许数据从一个节点(主节点)实时同步到另一个或多个节点(从节点)...

    sqlserver主从集群部署方案.docx

    本文将详细介绍sqlserver主从集群部署方案的实施步骤和关键技术要点。 一、准备工作 在部署sqlserver主从集群之前,需要准备一台干净的服务器,使用Windows Server 2019操作系统。在这种情况下,我们选择了Windows ...

    Redis主从复制和集群配置

    ### Redis主从复制和集群配置详解 #### 一、Redis主从复制原理及配置 **1.1 概述** Redis的主从复制机制是一种重要的数据同步方式,它支持一个或多个从数据库(slave)与主数据库(master)之间进行数据同步。其中,...

    高可用MYSQL,主从复制,集群和负载平衡

    高可用MYSQL主从复制、集群和负载平衡 MySQL 集群是指将多个 MySQL 服务器组合成一个集群,以提高数据库的可用性、可扩展性和性能。MySQL 集群可以分为多种类型,例如主从复制集群、多主多从集群、负载平衡集群等...

    MySQL5.7主从复制集群配置

    MySQL 5.7 主从复制集群是 MySQL 的一种高可用性解决方案,通过将数据实时同步到多个服务器上来提高数据库的可用性和可靠性。下面是 MySQL 5.7 主从复制集群配置的详细步骤和注意事项。 1. 修改配置文件 在 MySQL ...

    在Centos7上搭建 PostgreSQL数据库主从复制

    在开始搭建 PostgreSQL 数据库主从复制之前,我们需要设置 Master 和 Slave 的 IP 地址。Master 的 IP 地址为 10.1.1.21,Slave 的 IP 地址为 10.1.1.11。我们需要在该目录下修改 Master 和 Slave 各自的 IP 地址,...

    Mysql+Mycat实现数据库主从同步与读写分离.docx

    【MySQL+Mycat 实现数据库主从同步与读写分离】 MySQL 主从同步是一种常见的数据库高可用解决方案,它通过复制技术将数据从主数据库实时地、无损地同步到从数据库,确保在主库发生故障时可以从从库接管服务,从而...

    windows redis 主从集群实例加哨兵集群

    Windows Redis主从集群及哨兵集群的搭建是提高Redis服务的可用性和数据安全性的重要手段。下面将详细介绍这两个概念以及如何在Windows环境中实现。 1. Redis主从集群: 主从复制是Redis提供的一种数据备份和故障...

    Mysql主从集群搭建方法,以及基于spring boot注解式数据库读写分离代码示例.zip

    MySQL主从集群是一种常见的数据库高可用性和负载均衡解决方案,它通过数据复制技术使得多个数据库实例之间保持数据同步,其中一个是主节点,负责处理所有写操作,其他是从节点,用于读取数据,从而实现读写分离。...

    MySql 数据库主从机制原理说明及配置步骤.docx

    MySQL数据库的主从机制是一种常见的高可用性和负载均衡解决方案,它允许数据从一个主服务器(Master)异步复制到一个或多个从服务器(Slave)。这种机制对于数据安全性、读写分离以及故障转移具有重要意义。 主从...

    Mysql数据库主从心得整理1

    MySQL 数据库主从复制是一种常见的高可用性和数据冗余策略,它允许从一个主数据库(Master)异步或半同步地复制数据到一个或多个从数据库(Slave)。这个过程涉及到多个线程和日志机制,确保数据的一致性。 1. **...

    mysql角色服务器,用于实现数据库主从复制,mysql集群搭建所用服务器

    角色划分: 主库Master:主要进行的是数据的"更新操作" 从库Slave: 实时备份主库的更新信息 二进制日志: 实时记录主库的更新操作,并且形式二进制码. ...4.Sql线程实时读取中继日志中的消息,进行数据库的"更新操作

    mysql数据库主从复制的搭建.md

    使用与Linux版本centos7以及7以上版本,就是傻瓜试安装,每一条命令都有详细解释和说明,关键技术,数据挂载目录,主从复制模式的三种模式,binlog的三种格式的解释说明

    MySQL数据库主从复制技术应用实战(阶段二)

    在“MySQL数据库主从复制技术应用实战(阶段二)”中,我们将深入探讨这一关键技术,以帮助学员全面理解并掌握其工作原理、配置方法以及实际运维中的问题处理。 首先,MySQL主从复制的基础原理是通过binlog(二进制...

    PostgreSQL数据库工程师培训实战教程(主从复制、高可用HA、集群架构)

    本教程将深入讲解PostgreSQL数据库工程师所需的技能,包括主从复制、高可用性(HA)以及集群架构等关键知识点。 1. **主从复制**: 主从复制是数据库高可用性的一种常见实现方式,它允许数据在主数据库(master)...

    joeywang310#mysql-master-slave#Mysql主从复制集群搭建-基于DockerCompose1

    如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致slave mysql容器配置配置Dockerfile设置server_id,一般设置为

    SpringBoot2.X整合redis连接lettuce增强版本,支持多数据库切换,主从集群,哨兵

    基于`SpringBoot2.X + Lettuce`实现Redis集成和多库实时切换是一个非常实用的项目。以下是对该项目的一些重点说明: 1. **项目概述** 该项目的主要目标是在`SpringBoot`应用中集成`Lettuce`作为Redis客户端,实现对...

    Mysql Keeplived主从集群环境搭建

    MySQL Keeplived 主从集群环境搭建是一个用于高可用性和负载均衡的解决方案,它结合了MySQL的复制机制和Keepalived的故障切换功能。这个配置确保了在主数据库服务器出现故障时,可以从服务器能够无缝接管,保证数据...

    单台windows搭建mongoDb主从集群

    总之,搭建MongoDB主从集群涉及多个步骤,包括安装、配置、初始化、加入节点和监控。在Windows环境中,这可以通过虚拟化技术实现,但生产环境中应考虑物理分离以提高稳定性。理解并掌握这些知识点,对于管理和维护高...

Global site tag (gtag.js) - Google Analytics