草庐IT

十分钟彻底理解 Redis 的持久化和主从复制

什么是Redis持久化?Redis作为一个键值对内存数据库(NoSQL),数据都存储在内存当中,在处理客户端请求时,所有操作都在内存当中进行,如下所示:这样做有什么问题呢?其实,只要稍微有点计算机基础知识的人都知道,存储在内存当中的数据,只要服务器关机(各种原因引起的),内存中的数据就会消失了,不仅服务器关机会造成数据消失,Redis服务器守护进程退出,内存中的数据也一样会消失。对于只把Redis当缓存来用的项目来说,数据消失或许问题不大,重新从数据源把数据加载进来就可以了,但如果直接把用户提交的业务数据存储在Redis当中,把Redis作为数据库来使用,在其放存储重要业务数据,那么Redis

十分钟彻底理解 Redis 的持久化和主从复制

什么是Redis持久化?Redis作为一个键值对内存数据库(NoSQL),数据都存储在内存当中,在处理客户端请求时,所有操作都在内存当中进行,如下所示:这样做有什么问题呢?其实,只要稍微有点计算机基础知识的人都知道,存储在内存当中的数据,只要服务器关机(各种原因引起的),内存中的数据就会消失了,不仅服务器关机会造成数据消失,Redis服务器守护进程退出,内存中的数据也一样会消失。对于只把Redis当缓存来用的项目来说,数据消失或许问题不大,重新从数据源把数据加载进来就可以了,但如果直接把用户提交的业务数据存储在Redis当中,把Redis作为数据库来使用,在其放存储重要业务数据,那么Redis

如何在 Kubernetes 上优雅的运行一个 MySQL 主从架构集群

一般情况下Kubernetes可以通过ReplicaSet以一个Pod模板创建多个Pod副本,但是它们都是无状态的,任何时候它们都可以被一个全新的Pod替换。然而有状态的Pod需要另外的方案确保当一个有状态的Pod挂掉后,这个Pod实例需要在别的节点上重建,但是新的实例必须与被替换的实例拥有相同的名称、网络标识和状态。这就是StatefulSet管理Pod的手段。对于容器集群,有状态服务的挑战在于,通常集群中的任何节点都并非100%可靠的,服务所需的资源也会动态地更新改变。当节点由于故障或服务由于需要更多的资源而无法继续运行在原有节点上时,集群管理系统会为该服务重新分配一个新的运行位置,从而确

如何在 Kubernetes 上优雅的运行一个 MySQL 主从架构集群

一般情况下Kubernetes可以通过ReplicaSet以一个Pod模板创建多个Pod副本,但是它们都是无状态的,任何时候它们都可以被一个全新的Pod替换。然而有状态的Pod需要另外的方案确保当一个有状态的Pod挂掉后,这个Pod实例需要在别的节点上重建,但是新的实例必须与被替换的实例拥有相同的名称、网络标识和状态。这就是StatefulSet管理Pod的手段。对于容器集群,有状态服务的挑战在于,通常集群中的任何节点都并非100%可靠的,服务所需的资源也会动态地更新改变。当节点由于故障或服务由于需要更多的资源而无法继续运行在原有节点上时,集群管理系统会为该服务重新分配一个新的运行位置,从而确

MySQL 8主从复制配置详解,你学会了吗?

1、配置主服务器在主服务器上进行以下操作:(1)开启二进制日志打开MySQL配置文件my.cnf,在[mysqld]段下添加如下行:log-bin=mysql-binlog-bin指定二进制日志文件的名称,mysql-bin是默认的二进制日志前缀,后面会跟一个数字标识。如果不指定则使用默认名称。(2)创建复制用户创建用于从服务器复制数据的用户,比如repl。打开MySQL控制台,执行如下命令:CREATEUSER'repl'@'%'IDENTIFIEDBY'password';GRANTREPLICATIONSLAVEON*.*TO'repl'@'%';FLUSHPRIVILEGES;在创建用

MySQL 8主从复制配置详解,你学会了吗?

1、配置主服务器在主服务器上进行以下操作:(1)开启二进制日志打开MySQL配置文件my.cnf,在[mysqld]段下添加如下行:log-bin=mysql-binlog-bin指定二进制日志文件的名称,mysql-bin是默认的二进制日志前缀,后面会跟一个数字标识。如果不指定则使用默认名称。(2)创建复制用户创建用于从服务器复制数据的用户,比如repl。打开MySQL控制台,执行如下命令:CREATEUSER'repl'@'%'IDENTIFIEDBY'password';GRANTREPLICATIONSLAVEON*.*TO'repl'@'%';FLUSHPRIVILEGES;在创建用

一文讲解MySQL的主从复制

阿粉在前面的几篇文章中,说了索引的分析,索引的原理,以及慢查询应该怎么去做合理的优化,接下来阿粉也给大家说说这个MySQL的组从复制到底是个怎么回事。主从模式MySQL主从模式是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,从节点可以复制主数据库中的所有数据库,或者特定的数据库,或者特定的表。mysql主从复制用途:实时灾备,用于故障切换(高可用)读写分离,提供查询服务(读扩展)数据备份,避免影响业务(高可用)主从部署必要条件:从库服务器能连通主库主库开启binlog日志(设置log-bin参

一文讲解MySQL的主从复制

阿粉在前面的几篇文章中,说了索引的分析,索引的原理,以及慢查询应该怎么去做合理的优化,接下来阿粉也给大家说说这个MySQL的组从复制到底是个怎么回事。主从模式MySQL主从模式是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,从节点可以复制主数据库中的所有数据库,或者特定的数据库,或者特定的表。mysql主从复制用途:实时灾备,用于故障切换(高可用)读写分离,提供查询服务(读扩展)数据备份,避免影响业务(高可用)主从部署必要条件:从库服务器能连通主库主库开启binlog日志(设置log-bin参

从节点崩了,还怎么「主从读写分离」?

你好,我是悟空。本篇主要内容如下:目录背景我们的项目采用了读写分离的方案:查询和更新的业务走主库,统计相关的功能走从库,从而减少主库的压力。原理如下图所示:读写分离的方案如果从库崩了,实在无法访问了,就会把所有请求打到主库上。原理如下图所示:从节点崩了,部分流量打到主节点但是最近遇到一个问题,MySQL从节点上的服务无缘无故的崩了,查看日志也找不到什么端倪。为了保证从节点的可用性,我们使用了Keepalived软件来监测从节点存活状态,如果从节点崩了,则自动重启MySQL容器。本篇将会讲解没什么卵用的排查记录,以及如何保证从节点可用性,注意,还不是完全的高可用。一、排查记录虽说没有找到MySQ

从节点崩了,还怎么「主从读写分离」?

你好,我是悟空。本篇主要内容如下:目录背景我们的项目采用了读写分离的方案:查询和更新的业务走主库,统计相关的功能走从库,从而减少主库的压力。原理如下图所示:读写分离的方案如果从库崩了,实在无法访问了,就会把所有请求打到主库上。原理如下图所示:从节点崩了,部分流量打到主节点但是最近遇到一个问题,MySQL从节点上的服务无缘无故的崩了,查看日志也找不到什么端倪。为了保证从节点的可用性,我们使用了Keepalived软件来监测从节点存活状态,如果从节点崩了,则自动重启MySQL容器。本篇将会讲解没什么卵用的排查记录,以及如何保证从节点可用性,注意,还不是完全的高可用。一、排查记录虽说没有找到MySQ