mysql高可用设计,主库挂了怎么办

实际上高可用就是系统能提供的一种无故障服务能力,就是避免宕机出现不能服务的场景。

首先来说对于无状态服务的高可用设计是比较简单的,发现有不能用的就直接停了换别的服务器就行,比如Nginx。这里说一下无状态服务就是不需要记录你的状态、数据等等,各个服务器提供的是一样的服务。mysql分库分表不同服务器能提供的查询服务是不一样的,因为存的东西不一样。

数据库的高可用设计是比较难的,其实最重要的就是冗余。主要有以下几种

  • 主从模式的解决方式,就是主机挂了,将服务转移到从节点上,那这个从节点变成新的主机了,其他从节点从这个新主机上拷贝数据
  • 分库分表的方式,一个库寄了,那把原本要写到这上的数据写到另一个上就行。但这个其实并不好,因为你分开了表甚至是库肯定是根据一个方式分的,那你把A类写进B类里肯定是不好的
  • 融合两种方式,如下图

在这里插入图片描述

注意以上的方法都需要完成一个叫VIP(Virtual IP)的东西,即用户访问的ip是可以随意绑定在任何一台服务器上的。因为要让用户直接用起来,当有挂了的主机时,用户刷新一下,你底层直接把这个VIP绑给其他主机就可以返回给用户结果了。但是 VIP 也是有局限性的,仅限于同机房同网段的 IP 设定。如果是跨机房容灾架构,VIP 就不可用了。这时就要用名字服务,常见的名字服务就是 DNS(Domain Name Service)

最后一种新的技术:MGR技术。因为数据库复制的瓶颈在于,只能在一个节点写入数据,然后这个节点再将日志同步给其他节点。这样单点写入会导致数据库性能无法进行扩展。MGR技术之间的数据同步没有采用复制的手段,而是用GCS(Group Communication System)协议的日志同步技术。要求组中的大部分节点都接收到日志,事务才能提交。所以,MRG 是严格要求数据一致的,特别适合用于金融级的环境。并且MGR有两种模式,单主模式只有 1 个节点可以写入,多主模式能让每个节点都可以写入。而多个节点之间写入,如果存在变更同一行的冲突,MySQL 会自动回滚其中一个事务,自动保证数据在多个节点之间的完整性和一致性。但是缺点是有一个节点网络出现抖动或不稳定,会影响集群的性能!!!切记保证网络通畅

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/349855.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

redo log

问:redo log是什么?拿来干嘛的? 现象:如果提交一个事务,就刷新一次磁盘。那么会存在如下问题: 1、单改一条记录,至少都是刷新一个页,造成大量的磁盘I/O浪费 2、随机I/O比连续I/O慢&a…

智能洗地机哪款好用?全能型洗地机推荐

家庭清洁产品是我们生活中熟悉的存在,对于注重清洁的家庭来说,在选择清洁用品时不可避免地会考虑洗地机。相比传统的拖把,使用洗地机确实给人更好的体验。从理论上来说,洗地机作为一种吸尘和拖地一体的清洁工具,能够应…

智能照明控制系统智能化管理

传统的照明控制系统和智能照明控制系统之间的区别: 传统的照明控制系统开关方式比较单一只有“开”和“关”:但是智能那个照明控制系统可以采用“调光模式”通过光源的调光适应不同使用场合下的不同的灯光效果,能够营造出不同场景的氛围感。…

(2024,-DAE,去噪 DM,去噪 AE,影响 SSRL 性能的关键成分,PCA 潜在空间)解构自监督学习的去噪扩散模型

Deconstructing Denoising Diffusion Models for Self-Supervised Learning 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 4. 解构去噪扩散模型 4.1. 用于自监督学习的重新…

【Java面试】redis

目录 Redis 介绍Reids常用5种数据类型一个字符串类型的值能存储最大容量是多少?Redis 有哪些适合的场景?Redis的并发竞争问题如何解决?什么是缓存穿透?如何避免?什么是缓存雪崩?何如避免?Redis 中设置过期…

VISA 通过USB的接口控制 万用表,指令说明

//申明一个万用表设备,以及初始化配置 var session (Ivi.Visa.IMessageBasedSession)Ivi.Visa.GlobalResourceManager.Open(ID_34461A); session.FormattedIO.WriteLine("CONF:VOLT:DC"); session.FormattedIO.WriteLine("VOLT:DC:NPLC 10"); …

Linux的文件系统、软硬链接、动静态库

前要:本次我想给您带来关于 IO 和文件的知识,而文件在本系列中分为内存上的文件和磁盘上的文件。 1.文件概念 1.1.文件读写 在谈及系统接口之前,我们先来从 C 语言的角度来谈及一些前要知识,以辅助我们后续来理解系统 IO。 我们…

Web3:B站chainlink课程Lesson5遇到的小坑汇总

ethers代码 我用的ethers.js 6 ,和视频里一样用的是5的不用看代码部分 ethers.providers.JsonRpcProvider("server") //无了 ethers.JsonRpcProvider("server") //现在的wallet.getTransactionCount() //无了 wallet.getNonce() //现在的Big…

【代码】使用预训练的语义分割网络

P274书上的代码,这里是从ipynb文件中按顺序复制来的: 使用到的图片如下: 代码: import numpy as np import pandas as pd import matplotlib.pyplot as plt import PIL import torch from torchvision import transforms impor…

【算法与数据结构】377、LeetCode组合总和 Ⅳ

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题明面上说是组合,实际上指的是排列。动态规划排列组合背包问题需要考虑遍历顺序。 d p …

CentOS7服务器的安装配置连接客户端Xshell进行使用

目录 一. CentOS7的安装【在虚拟机中】 二. 查看设置IP地址 三. 安装并连接客户端软件Xshell 3.1 安装Xshell 3.2 xshell连接centos7服务器 四. 切换国内源 一. CentOS7的安装【在虚拟机中】 首先创建一个虚拟机, 这个没什么好说的,基本上都是下…

【linux-虚拟化】 SR-IOV技术

文章目录 参考1. 什么是 SR-IOV?1.2. 将 SR-IOV 网络设备附加到虚拟机1.3. SR-IOV 分配支持的设备 参考 管理 SR-IOV 设备 1. 什么是 SR-IOV? 单根 I/O 虚拟化(SR-IOV)是一种规范,它允许单个 PCI Express(PCIe)设备向主机系统呈现多个独立的 PCI 设备&#xff…

【免费分享】全国道路网(分级)矢量数据

纯爱好 个人分享 数据详情 全国道路网(分级)矢量数据 地址:资源下载-数字地球开放平台 (geovisearth.com) 数据属性 数据名称:全国道路网(分级)矢量数据 道路类型分类:高速、国道、省道、铁…

科技云报道:金融大模型落地,还需跨越几重山?

科技云报道原创。 时至今日,大模型的狂欢盛宴仍在持续,而金融行业得益于数据密集且有强劲的数字化基础,从一众场景中脱颖而出。 越来越多的公司开始布局金融行业大模型,无论是乐信、奇富科技、度小满、蚂蚁这样的金融科技公司&a…

SpringMVC 环境搭建入门

SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 中。 SpringMVC 已经成为目前最主流的MVC框架之一,并且随着Spring3.0 的发布,全面…

scoped属性和深度选择器

在Vue单文件组件(SFC)中,为了防止样式全局污染,可以给 所有的scoped的css编译出来都会变成.class[哈希值]的形式 我们只能修改带data-v-0dca3a9a作用域的样式,像是 如果修改el-table的宽度 .el-table {width: 60…

开发AI软件,构建多用户AIGC系统,实现图文创作及源码交付

在AI技术不断进步的今天,AI软件开发已成为一个热门的领域。而多用户AIGC系统作为AI软件开发的重要项目之一,呈现出极大的潜力和前景。 多用户AIGC系统旨在为用户提供一个全面的图文创作平台,借助AI的力量,使创作过程更加智能化和…

python写一个彩票中奖小游戏修订版本

先说规则: print("下面介绍双色球颜色规则:")print("一等奖,投注号码与当期开奖号码全部相同(顺序不限,下同),即中奖")print("二等奖:投注号码与当期开奖号码中的6个红色球号码相同,即中奖&q…

Unity动画桢事件

1,使用原因 在新项目内部审核的时候,说什么动画节奏不匹配,所以决定用动画桢事件来处理技能释放。当释放技能的时候,先播放技能动画,然后再动画桢所在的时间戳执行技能的逻辑。 2,具体实现 1,…

openlayers+vue实现缓冲区

文章目录 前言一、准备二、初始化地图1、创建一个地图容器2、引入必须的类库3、地图初始化4、给地图增加底图 三、创建缓冲区1、引入需要的工具类库2、绘制方法 四、完整代码总结 前言 缓冲区是地理空间目标的一种影响范围或服务范围,是对选中的一组或一类地图要素(点、线或面…