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 会自动回滚其中一个事务,自动保证数据在多个节点之间的完整性和一致性。但是缺点是有一个节点网络出现抖动或不稳定,会影响集群的性能!!!切记保证网络通畅

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

防御保护---NAT实验

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一. 练习 PC4配置 FW2配置 sys int g0/0/0 ip add 192.168.100.3 24 service-manage all permit sys int l0 ip add 1.1.1.1 24 int g0/0/0 ip add 12.0.0.1 24 int g0/0/2 ip add 21.0.0.1 …

zuul网关

zuul网关 zuul自定义过滤器hystrix和ribbon时间RibbonAutoConfiguration自动配置FeignAutoConfiguration自动配置RibbonEurekaAutoConfigurationSendErrorFilter过滤器EnableZuulServerHasFeatures EnableZuulProxy zuul自定义过滤器 继承ZuulFilter类,实现其方法f…

Linux/Uinx 系统编程:进程管理(1)

Linux/Uinx 系统编程:进程管理(1) 文章目录 Linux/Uinx 系统编程:进程管理(1)什么是进程进程来源INIT 和 守护进程登录进程sh进程进程的执行模式进程管理的系统调用关于syscall中参数b,c&#x…

谷歌出品!读懂 QUIC 协议:更快、更高效的通信协议

QUIC结构 QUIC协议模型如下图所示,其放弃了TCP∕IP网络中使用五元组(源IP,源端口,目的IP,目的端口,协议标识符)来唯一标识一条连接的方式,而使用一个全局唯一的随机生成的ID(即Connection ID) 来标识一条连接。 由低向上分层讨论QUIC协议: •UDP层:在U…

MongoDB莫名崩溃的问题定位与解决纪实

MongoDB莫名崩溃的问题定位与解决纪实 国庆之前发布的软件版本一直运行正常,国庆之后,测试同事跑自动化测试脚本,发现该软件频繁异常,通过查看log发现,该软件使用的MongoDB崩溃了。 该软件是个Windows的桌面软件&…

【QT+QGIS跨平台编译】之十二:【libpng+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文件目录 一、libpng介绍二、文件下载三、文件分析四、pro文件五、编译实践一、libpng介绍 PNG(Portable Network Graphics,便携式网络图形),是一种采用无损压缩算法的位图格式,支持索引、灰度、RGB三种颜色方案以及Alpha通道等特性。 PNG使用从LZ77派生的无损数据压缩算…

Java类加载器

什么是类加载器? 1.1类加载器 作用 负责将.class文件(存储的物理文件)加载在到内存中 需要有个人把我们写的java文件编译后的字节码文件搬运到虚拟机上 1.2类加载的完整过程 1.2类加载的完整过程 类加载时机 简单理解:字节码文件什么时候…

网络协议与攻击模拟_09部署DHCP服务器

一、部署DHCP服务器 Windows server部署DHCP服务器 1、虚拟机网络架构理解 Vmware里面不同的虚拟机可以设置相同的Vmnet网络,也可以设置不同的Vmnet网络。两台虚拟机设置相同的Vmnet1网卡,可以看作为使用虚拟交换机将两台Vmnet1的虚拟机连接起来的。 …

java学习之路(1)-隐藏桌面图标从CMD命令中打开软件

1.找到文件所在路径: 2.将文件路径添加到环境变量中 3.winr 打开cmd 输入命令(目录后面的QQScLauncher.exe) 直接可以打开QQ软件,删除桌面图标,别人就找不到了,只能通过cmd命令或者是找到安装包所在位置 …

微服务入门篇:Eureka注册中心(作用,搭建Eureka客户端和服务端)

目录 1.提供者与消费者2.Eureka的作用3.搭建EurekaServer1.配置服务端2.配置客户端3.复制实例操作4.服务拉取 1.提供者与消费者 ①服务提供者:一次业务中,被其它微服务调用的服务。(提供接口给其它微服务) ②服务消费者:一次业务中,调用其它微…

docker的资源限制(cgroup)

前瞻 Docker 通过 Cgroup 来控制容器使用的资源配额,包括 CPU、内存、磁盘三大方面, 基本覆盖了常见的资源配额和使用量控制。 Cgroup 是 ControlGroups 的缩写,是 Linux 内核提供的一种可以限制、记录、隔离进程组所使用的物理资源(如 CPU、…

雪亮工程视频智能监控方案,助力打造全方位、多层次视频监管体系

随着科技的不断发展,视频监控已经成为城市安全防范的重要手段之一。为了提高城市安全防范水平,各地纷纷开展“雪亮工程”,即利用视频智能监控技术,实现对城市各个角落的全方位、全天候监控。本文将介绍一种雪亮工程视频智能监控方…

Shell脚本⑤函数与数组

一.函数 封装的可重复利用的具有特定功能的代码 格式: 方法一: [function] 函数名 (){ 命令序列 [return x] #使用return或者exit可以显式的结束函数 } 方法二: 函数名(){ 命令序列 } 1.函数的调用方法 (1&…

Tensorflow2.0笔记 - tensor排序操作

本笔记主要记录sort,argsort,以及top_k操作,加上一个求Top K准确度的例子。 import tensorflow as tf import numpy as nptf.__version__#sort,argsort#对1维的tensor进行排序 tensor tf.random.shuffle(tf.range(10)) print(tensor) #升序 print("tf.sort(d…

纯血鸿蒙来了,企业开发者应该关注什么

2024年对于鸿蒙来说是一个里程碑,鸿蒙将正式对外发布 HarmonyOS NEXT 5.0,而此前传言的系统将不再对开发者层面兼容Android等消息将成为定论。 为什么鸿蒙能有这个底气?因为研究机构TechInsights发布预测报告称,华为HarmonyOS将在…

【Chrome】浏览器怎么清除缓存并强制刷新

文章目录 1、正常刷新:正常刷新网页,网页有缓存则采用缓存。 F5 或 刷新键2、强制刷新:忽略缓存刷新,重新下载资源不用缓存。 CtrlF5 或 ShiftF5 或 CtrlShiftR3、在浏览器的设置里面清除所有数据

基于 Docker 搭建 Uptime-Kuma 一个极简风的应用监控

GitHub:https://github.com/louislam/uptime-kuma 一、uptime-kuma 介绍 Demo:https://uptime.wuhanjiayou.cn/ uptime-kuma 是一款开源的监控工具, 支持 TCP / PING / HTTP 等多种监控方式,可监测网站,数据库,Docker…

OpenHarmony—类型转换仅支持as T语法

规则:arkts-as-casts 级别:错误 在ArkTS中,as关键字是类型转换的唯一语法,错误的类型转换会导致编译时错误或者运行时抛出ClassCastException异常。ArkTS不支持使用语法进行类型转换。 当需要将primitive类型(如num…

使用Spring Boot和Tess4J实现本地与远程图片的文字识别

概要: 在本文中,我们将探讨如何在Spring Boot应用程序里集成Tess4J来实现OCR(光学字符识别),以识别出本地和远程图片中的文字。我们将从添加依赖说起,然后创建服务类以实现OCR,最后展示如何处理…

C++:组合、继承与多态

面向对象设计的重要目的之一就是代码重用,这也是C的重要特性之一。代码重用鼓励人们使用已有的,得到认可并经过测试的高质量代码。多态允许以常规方式书写代码来访问多种现有的且已专门化了的相关类。继承和多态是面向对象程序设计方法的两个最主要的特性…