文档结构: 由于博主之前是Oracle dba,oracle 高可用一般是rac,以及搭建ADG,一个是基于实例的高可用,一个是基于数据的容灾,甚至也有rac+adg的方式.Postgres有同步和异步两种同步方式,我发现,mysql,oracle,postgresql 这两种同步模式原理都是一个德行,可能都是绕不开关系型数据库吧. 异步方式主库上的事务不会等待备库接受日志流发出确认信息后主库才向客户端返回成功,同步方式事务会主库等待至少一个备库接受日志流发出确认信息后便返回成功:很明显,异步时…
生命不息,test不止. 最近组里面修改了几个postgresql的bug,要进行回归测试,除了前面提到的WAL的RT测试和Mirroring Controller的RT测试,还要测试下postgresql的hot standby功能. 要进行该项测试,就要首先搭建hot standby环境. 本文主要记录下搭建hot standby环境的过程以及其中遇到的问题及解决方法. 首先介绍下系统环境: 操作系统:RHEL_6_x64 postgresql版本:9.5.4 首先至少要有两台机器,其次这两…
MHA简介 MHA可以自动化实现主服务器故障转移,这样就可以快速将从服务器晋级为主服务器(通常在10-30s),而不影响复制的一致性,不需要花钱买更多的新服务器,不会有性能损耗,容易安装,不必更改现有的部署环境,适用于任何存储引擎. MHA提供在线主服务器切换,改变先正运行的主服务器到另外一台上,这个过程只需0.5-2s的时间,这个时间内数据无法写入. MHA Manager通过ssh连接mysql slave服务器.所以在配置MHA的时候,我们首先实现的就是各个节点的互信. 虽然MHA试图从宕…
Redis主从复制 在开始实现redis的高可用之前,首先来学习一下如何实现redis的主从复制,毕竟高可用也会依赖主从复制的技术. Redis的主从复制,可以实现一个主节点master可以有多个从节点slave节点,一个slave节点也可以作为下面很多从节点的主节点,类似于mysql的级联复制. Redis的主从复制策略是通过其持久化的rdb文件来实现的,其过程是先dump出rdb文件,将rdb文件传输给slave,然后再将dump后的操作实时同步到slave中.让从服务器(slave ser…
在影响系统稳定性的各种因素中,慢 SQL 是相对比较致命的,可能会导致 CPU.LOAD 异常.系统资源耗尽.线上生产环境出现慢 SQL 往往有很多原因: 硬件问题.如网络速度慢,内存不足,I/O 吞吐量小,磁盘空间满等. 没有索引或者索引失效. 数据过多. DevOps 后没有专业的 DBA 对 SQL 代码进行 review,在项目初期没有对 SQL 的性能做很好的考量.严重的慢 SQL 发生后可能会拖垮整个数据库,对线上业务产生阻断性的风险.AHAS 流控降级提供了 SQL 级别的识别与防…
先说说环境,主从库版本都是9.5,主库在CentOS物理机上,从库在Ubuntu虚拟机上 一.主库上的操作: 1.添加同步访问规则: host   replication     dbuser          192.168.1.26/16         md5 说明一下,上面的replication这个字符串不能改 2.postgresql.conf修改: listen_addresses = '*' max_wal_senders = 5 wal_level = hotstandby w…
应用配置管理(Application Configuration Management,简称 ACM)是一款应用配置中心产品.基于ACM您可以在微服务.DevOps.大数据等场景下极大地减轻配置管理的工作量,同时保证配置的安全合规.ACM 有着丰富的使用场景,本文将介绍其在 AHAS 流控降级 中的应用. 什么是 AHAS 流控降级 AHAS 流控降级 是面向分布式服务架构的专业流量控制组件,主要以流量为切入点,从流量控制.熔断降级.系统保护等多个维度帮助您保障服务的稳定性,同时提供强大的聚合监…
Basic Replication If you’re feeling overwhelmed, try setting up a slave to see how easy it is! We’ll assume that you have a running PostgreSQL installation on the IP 10.0.0.10 and that you’re setting up a slave at 10.0.0.11, with both running Postgre…
1 总体规划   Master库 Slave库 操作系统 CentOS Linux release 7.5.1804 CentOS Linux release 7.5.1804 处理器 1 1 内存 4G 4G 硬盘 38G 38G 主机名称 SHSNC-DB01 SHSNC-DB02 IP地址 192.168.1.61 192.168.1.62 具体安装步骤,可以查看<PostgreSQL数据库的安装>,不在本文的介绍范围内. 2 PostgreSQL主从异步流复制搭建 2.1 参数检查 检…
高可用   高可用(High Availabiltity) 应用提供持续不间断(可用)的服务的能力 系统高可用性的评价通常用可用率表示   造成不可用的原因 硬件故障(各种) 预期中的系统软硬件维护 软件缺陷(应用代码,服务程序都可能存在bug) 攻击,泄露,认为失误...等安全事件 对于系统来说,不可用时间是各关键组件不可用时间的总和.....   提高可用性的主要手段 冗余,Redundancy 关键软硬件通过备用冗余避免故障时长时间的不可用 数据软件,硬件,存储的数据,都需要通过冗余确保故…
前言 在MySQL被收购之后,虽然有其替代品为: MariaDB,但是总感觉心里有点膈应.大家发现了另一款开源的数据库: PostgreSQL. 虽然centos自带版本9.2也可以用,但是最近的几次升级支持了更多更新的内容,比如,PostgreSQL有一个MySQL无法比拟的优势,那就是PostGIS,PostGIS可以完美支持空间数据存储和空间分析:从PostgreSQL9.3起就内置了JSON数据类型,而9.4又开始支持JSONB,这标志着PostgreSQL实际上已经是一个关系型数据库和…
MySQL高可用解决方案 原文:http://www.ywnds.com/?p=5565 有这么两个概念,数据库的可靠性和数据库的可用性,可靠性指的是数据可靠,而可用性指的是服务可用.但是不管是可靠性还是可用性都没有绝对的,所以可用性方面也就有这么一些等级标准,如: 90%一年内可接受最高36天服务不可用 99%一年内可接受最高3.65天服务不可用 99.9%一年内可接受最高8.76小时服务不可用 99.99%一年内可接受最高52.56分钟服务不可用 99.999%一年内可接受最高5.26分钟服…
参考了别人的部分,添加了自己在实践中的内容,仅做记录. 1.同步流复制中 主机操作 1.1postgresql.conf wal_level = hot_standby # 这个是设置主为wal的主机 max_wal_senders # 这个设置了可以最多有几个流复制连接,差不多有几个从,就设置几个 wal_keep_segments # 设置流复制保留的最多的xlog数目 wal_sender_timeout = 60s # 设置流复制主机发送数据的超时时间 max_connections #…
异步流(AsyncStream) 原文地址:https://github.com/dotnet/roslyn/blob/master/docs/features/async-streams.md 注意:以下内容最好能根据反编译工具查看异步流相关类生成的代码效果最佳 异步流是可枚举类(Enumerable)的异步变体,它会在遍历下一个元素的时候(Next)会涉及异步操作.只要继承自 IAsyncEnumerable 就能实现. 首先我们来看下这些在 .netcore3.0 新增的异步流 API n…
简介 我们在考虑MySQL数据库的高可用架构时,主要考虑如下几方面: 如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中断. 用作备份.只读副本等功能的非主节点的数据应该和主节点的数据实时或者最终保持一致. 当业务发生数据库切换时,切换前后的数据库内容应当一致,不会因为数据缺失或者数据不一致而影响业务. 主从或主主半同步复制 使用双节点数据库,搭建单向或者双向的半同步复制.在5.7以后的版本中,由于lossless repli…
原文: http://imysql.com/2015/09/14/solutions-of-mysql-ha.shtml?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io 本次专题是 MySQL高可用方案选型,这个专题想必有很多同学感兴趣. 高可用的意义以及各种不同高可用等级相应的停机时间我就不必多说了,直接进入主题. 可选MySQL高可用方案 MySQL的各种高可用方案,大多是基于以下几种基础来部署的: 基于主从复制:…
1.系统环境 使用kubeadm安装高可用k8s v.13.x较为简单,相比以往的版本省去了很多步骤. kubeadm安装高可用k8s v.11 和 v1.12 点我 主机信息 主机名 IP地址 说明 组件 k8s-master01 ~ 03 192.168.20.20 ~ 22 master节点 * 3 keepalived.nginx.etcd.kubelet.kube-apiserver k8s-master-lb 192.168.20.10 keepalived虚拟IP 无 k8s-no…
系统信息: mysql主库 mysql从库 VIP 192.168.1.150 mysql 主主同步都设置 auto-increment-offset,auto-increment-increment ,以避免自增列冲突.参考:MySQL 高可用:主主复制(双主复制) LVS 下载:http://www.linuxvirtualserver.org/software/http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.2…
高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间. 假设系统一直能够提供服务,我们说系统的可用性是100%.如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99%.很多公司的高可用目标是4个9,也就是99.99%,这就意味着,系统的年停机时间为8.76个小时. 百度的搜索首页,是业内公认高可用保障非常出色的系统,甚至人们会通过www.baidu.com 能不能访问来判断“网络…
高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间. 假设系统一直能够提供服务,我们说系统的可用性是100%.如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99%.很多公司的高可用目标是4个9,也就是99.99%,这就意味着,系统的年停机时间为8.76个小时. 百度的搜索首页,是业内公认高可用保障非常出色的系统,甚至人们会通过www.baidu.com 能不能访问来判断“网络…
转自:   https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=402738153&idx=1&sn=af5e76aad269799e517607cdc2cfaf06&scene=0&key=ac89cba618d2d9764985895cc5dcd8413928f15cfa134812846b816487c1609c40778841d410e63dc802acd538e5cc5d&ascene=7&a…
1. 集群节点及服务分配 说明: 1.1. 在每个节点上启动两个clickhouse服务(后面会详细介绍如何操作这一步),一个数据分片,一个数据备份,为了确保宕机数据一致性,数据分片和数据备份不能同一节点,比如gawh201上的shard不能备份在gawh201的replica,如果这样做,当gawh201宕机了,该节点shard的数据是找不到的. 1.2. 基于a所以shard和replica必须错开,但不是随意错开就可以了.按照上图给的规律错开(后面会详细介绍超大节点的集群的shard和re…
QA PgPool-II 同步 Postgresql X1 服务器准备 192.168.59.121 PostgreSQL10 192.168.59.120 PGPool-II 3.7 X2 安装PostgreSQL #M1 下载 $ https://yum.postgresql.org/ $ yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.n…
MySQL组复制系列文章: MySQL组复制大纲 MySQL组复制(1):组复制技术简介 MySQL组复制(2):配置单主模型的组复制 MySQL组复制(3):配置多主模型的组复制 MySQL组复制(4):组复制理论透彻分析 这一篇对MySQL组复制做个详细的整理和解释,是MySQL组复制官方手册的整理版和总结. 1.组复制插件架构图 MySQL组复制是一个MySQL插件,它基于常规的MySQL复制,利用了基于行格式的二进制日志和GTID等特性.下图是MySQL组复制的整体框架图. 以下是对该图…
高可用.负载均衡和复制 1. 不同方案的比较 共享磁盘故障转移 共享磁盘故障转移避免了只使用一份数据库拷贝带来的同步开销. 它使用一个由多个服务器共享的单一磁盘阵列.文件系统(块设备)复制 DRBD是用于 Linux 的一种流行的文件系统复制方案.事务日志传送 温备和热备服务器能够通过读取一个预写式日志(WAL) 记录的流来保持为当前状态.如果主服务器失效, 后备服务器 拥有主服务器的几乎所有数据, 并且能够快速地被变成新的主数据库服务器.这可以是同步的或异步的, 并且只能用于整个数据库服务器.…
Redis从出门到高可用–Redis复制原理与优化 单机有什么问题? 1.单机故障; 2.单机容量有瓶颈 3.单机有QPS瓶颈 主从复制:主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主. 1.一个master可以有多个slave: 2.一个slaver只能有一个master: 3.数据流向是单向的,master到slave: 主从复制两种实现方式: 1.slaveof命令 取消复制:slavof no one 2.配置 sl…
背景 在上一篇「MySQL高可用复制管理工具 —— Orchestrator介绍」中大致介绍了Orchestrator的功能.配置和部署,当然最详细的说明可以查阅官方文档.本文开始对Orchestrator的各方面进行测试和说明. 测试说明 环境介绍 服务器环境: 三台服务器 :MySQL实例(3306是orch的后端数据库,3307是MySQL主从架构「开启GTID」) Master : Slave : Slave : :hosts(etc/hosts): 192.168.163.131 te…
MySQL组复制系列文章: MySQL组复制大纲 MySQL组复制(1):组复制技术简介 MySQL组复制(2):配置单主模型的组复制 MySQL组复制(3):配置多主模型的组复制 MySQL组复制(4):组复制理论透彻分析 MySQL的组复制可以配置为单主模型和多主模型两种工作模式,它们都能保证MySQL的高可用.以下是两种工作模式的特性简介: 单主模型:从复制组中众多个MySQL节点中自动选举一个master节点,只有master节点可以写,其他节点自动设置为read only.当maste…
MySQL组复制系列文章: MySQL组复制大纲 MySQL组复制(1):组复制技术简介 MySQL组复制(2):配置单主模型的组复制 MySQL组复制(3):配置多主模型的组复制 MySQL组复制(4):组复制理论透彻分析 在这一篇,我演示的是如何配置MySQL组复制的多主模型(multi-primary).在配置上,多主模型的组复制和单主模型基本没区别. 本文仅为搭建和维护多主模型组复制抛块小砖,若对其间涉及的术语和理论有所疑惑,可参看: 单主模型相关内容的大长文:配置单主模型的组复制. 组…
一 基础环境 节点 系统版本 MySQL版本 业务IP 心跳IP Master CentOS 7.5 MySQL 5.6 192.168.88.100 192.168.77.100 Slave CentOS 7.5 MySQL 5.6 192.168.88.101 192.168.77.101 VIP 192.168.88.88 关闭防火墙及SELinux: 配置NTP时钟同步: 主机名及hosts: #public ip 192.168.88.100 master.yewu.com maste…