Galera集群server.cnf参数调整--前言
文档安排:
前言部分会简述下galera集群,正文中会针对我们线上的环境,在不断业务的情况下,进行参数调整的话,有些参数不能够进行配置,会以#***的形式写入配置文件中,文档也会进行进一步说明。
如果有任何疑问、建议、或意见,请联系本文小工~撒花~下面正式开始。
Galera是一个MySQL(也支持MariaDB,Percona)的同步多主集群软件,目前只支持InnoDB引擎。
在看galera集群原理及同步的过程中,我记录了我几个疑问,请作为参考,如果有新的问题也请联系本文小工。
(Q1:对支持Innodb引擎的理解——Galera本质是通过wsrep api进行数据的同步和通信。Wsrep Api组成里有一个重要的组成部分是hooks,hooks会侵入innodb事务的commit流程,获取事务内部所有数据的更改,通过write set同步到其他的节点。简单点说,就是跟事务相关,在收到事务提交的信号时将更改内容发送到其他节点,并进行认证测试后更新。在mysql中跟事务相关的引擎常用的只有innodb和ndb/bdb。)
(Q2:为啥群众们不要求用ndb/bdb引擎——bdb支持事务(commit/rollback等),但是不支持row lock,不支持hash indexes;ndb的出现其实多用于mysql cluster,同时,ndb有个大胆的要求需要有足够大的内存来支持,应用场景多用于高性能查找中,引擎必须显式的编译进MySQLd服务器中才可以使用,最早是为了爱立信的电信应用设计的,打散数据至各个节点内存中,而对于正常的事务型db会有很多并发写操作,还是更推荐用Innodb。)
(Q3:同步方式——在现有的多主解决方案中,多主非集中存储底层的环境下,最重要的就是同步和互斥,换种说法就是解决数据冲突和不一致。当然,互斥的问题比较复杂,很多公司都会考虑奇偶分离等等的方法,在api中预先实现一部分互斥辅助。galera具体的同步可以参照下面的表(wsrep_sst_method):
)
Galera集群server.cnf参数调整--前言的更多相关文章
- Galera集群server.cnf参数调整--Innodb存储引擎内存相关参数(一)
在innodb引擎中,内存的组成主要有三部分:缓冲池(buffer pool),重做日志缓存(redo log buffer),额外的内存池(additional memory pool).
- 搭建数据库galera集群
galera集群 galera简介 galera集群又叫多主集群,用于数据库的同步,保证数据安全 最少3台,最好是奇数台数,当一台机器宕掉时,因为仲裁机制,这台机器就会被踢出集群. 通过wsrep协议 ...
- mysql基础之mariadb galera集群(多主)
一.概念 galera集群多用于关键性业务,因为galera集群为了数据的一致性,采用的是同步的机制,这就使galera牺牲了一部分性能来换取数据一致性. galera集群是基于wsrep协议(端口4 ...
- MariaDB Galera集群部署--技术流ken
Galera集群介绍 MariaDB集群是MariaDB同步多主机集群.它仅支持XtraDB/ InnoDB存储引擎. 主要功能 同步复制 真正的multi-master,即所有节点可以同时读写数据库 ...
- mysql主从配置和galera集群
mariadb主从 主从多用于网站架构,因为主从的同步机制是异步的,数据的同步有一定延迟,也就是说有可能会造成数据的丢失,但是性能比较好,因此网站大多数用的是主从架构的数据库,读写分离必须基于主从架构 ...
- Mariadb galera 集群
部署galera 多主架构 (galera集群多用于关键性业务,因为galera集群为了数据的一致性,采用的是同步的机制,这就使galera牺牲了一部分性能来换取数据一致性.) 环境准备:三台服务器 ...
- 使用GTID给Galera集群做数据库异步复制
一.为什么要做Galera集群异步复制 Galera集群解决了数据库高可用的问题,但是存在局限性,例如耗时的事务处理可能会导致集群性能急剧下降,甚至出现阻塞现象.而不幸的是,类似报表等业务需求就需要做 ...
- Linux下MySQL/MariaDB Galera集群搭建过程【转】
MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...
- Docker 版ansible galera集群
1. 部署galera集群 利用四台主机cicd.node1.node2.node3来搭建galera集群. 1> 上传压缩包至cicd,解压得到ansible配置文件 [root@cicd ~ ...
随机推荐
- 剑指offer 复制构造函数
复制构造函数: A(const A &other){value=other.value;} 也就是传值参数改为常量引用. #include<iostream> using name ...
- angularjs checkbox 框的操作
前言:今天遇到一个问题,需要对多选按钮进行操作,作为js菜鸟,只能做自己慢慢琢磨了-- <label class="checkbox-inline custom-checkbox no ...
- [DL学习笔记]从人工神经网络到卷积神经网络_1_神经网络和BP算法
前言:这只是我的一个学习笔记,里边肯定有不少错误,还希望有大神能帮帮找找,由于是从小白的视角来看问题的,所以对于初学者或多或少会有点帮助吧. 1:人工全连接神经网络和BP算法 <1>:人工 ...
- POSTMAN as debugger for integration APPs
Chrome Menu: Window > Extensions > Postman - REST Client 0.8.4.10 起个标题,有空总结一下一个经验,关于Netsuite i ...
- laravel的配置文件
app/config 中的配置说明 1 在 app/config 文件夹中经常配置的一般有两个文件:app.php 和 database.php 两个文件,他们一个是配置项目杂项的.一个是配置数据 ...
- 两个平行div之间有间隙
两个平行的div使用 display: inline-block 会导致元素之间有空隙解决方法: 父元素设置 font-size: 0;
- java内存划分
运行时数据区域 Java虚拟机在执行Java的过程中会把管理的内存划分为若干个不同的数据区域.这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,而有的区域则依赖线程的启动 ...
- 当云遇见APP性能测试会怎样?
一个测试人员应该明白,无论是在云内部或是外部,对一个应用程序而言,需要进行测试的地方都是一样的.最终用户只关注的是一个无缺陷的高性能的应用程序,而不关心应用程序位于哪里.在大多数的云服务协议里,都会提 ...
- Toolbar设置回退箭头的方法
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); //关键下面两句话,设置了回 ...
- CCNA网络基础(一)
现在我们使用这一个图来讲解网络的基础知识: 现在只看右边那个图,也就是两台主机和一个交换机 PC1 的配置是 IP 172.16.20.2/24 网关没有配 ...