摘要:
一、简介 pg常用高可用方案有repmgr,patroni等,本文介绍patroni方案。 Patroni,是专门为PostgreSQL数据库设计的一款以Python语言实现的高可用软件。其使用外部共享存储软件(kubernetes、etcd、etcd3、zookeeper、aws等)来存储patr 阅读全文
摘要:
一、流复制集群介绍 postgresql 在9.x以前是基于wal 日志传送的方式进行复制的,当一个wal写完进行切换之后才会把该wal日志文件传送到备库进行应用,这样延迟比较大。 9.x 以后支持流复制,所谓流复制就是主服务器在 WAL 记录产生时即将它们以流式传送给备服务器而不必等到 WAL 文 阅读全文
摘要:
一、前言 msyql 切换主库一般都是用高可用方案,例如MHA,MGR,高可用方案可以自动切主,但是MHA的failover功能无法把旧主自动挂到新主上作为从库使用,所以发生failover后,还需要手动把旧的主库作为备库挂到新的主库上。此时常规操作就是备份新主库,然后应用到旧主库上,然后再重新搭建 阅读全文
摘要:
一、postgresql 下载 pg官网:postgres.org 一般推荐用源码安装,下载 .tar.gz 包 二、安装 本文以12.6版本安装为例: 2.1、安装前要求和环境配置 # 1、要求GNU make版本3.80或以上(GNU make有时以名字gmake安装),要测试make版本可以使 阅读全文
摘要:
一、缓存击穿 如果缓存中的某个热点数据过期了,此时大量的请求访问了该热点数据,就无法从缓存中读取,直接访问数据库,数据库很容易就被高并发的请求冲垮,这就是缓存击穿的问题 解决方案: 互斥锁方案,请求数据库写数据到缓存之前,先获取互斥锁,保证只有一个请求会落到数据库上,减少数据库的压力。 不给热点数据 阅读全文
摘要:
一、redis持久化介绍 Redis是个基于内存的数据库,服务一旦宕机,内存中的数据将全部丢失。通常的解决方案是从数据库来重新把这些数据写进redis, 但后端数据库有性能瓶颈,如果是大数据量的恢复,会对数据库带来巨大的压力,导致程序响应慢。所以对Redis来说,实现数据的持久化, 避免从后端数据库 阅读全文
摘要:
详情请见:https://ask.oceanbase.com/t/topic/35611944 阅读全文
摘要:
日常巡查中发现mysql 日志中有大量报错: 2024-09-12 02:51:02 19177 [ERROR] Error log throttle: 3 'Can't create thread to handle new connection' error(s) suppressed 2024 阅读全文
摘要:
一、MHA介绍 注意:阅读本文需要有一定的mysql基础知识和主从集群知识 MHA(mysql High Availability)是一款开源的 MySQL 的高可用程序,由perl语言编写,它为 MySQL主从复制架构提供了自动化主故障转移功能。在MySQL故障切换过程中,MHA能做到在0~30秒 阅读全文
摘要:
一、keepalived 安装 官网地址:http://www.keepalived.org/download.html 1、Keepalived 环境准备 各节点时间必须同步:ntp, chrony 关闭防火墙及SELinux 各节点之间可通过主机名互相通信:非必须 建议使用/etc/hosts文 阅读全文