目的是尝试altas的读写分离,现有一套搭建好做测试的MGR(单主),于是就腿搓绳,在MGR基础上搭建altas. 复制环境准备 读写分离理论上讲,跟复制模式没有关系,atlas负责的是重定向读写,至于复制模式自己选择,这里是测试环境,之前测试MGR的单机多实例,MGR单主模式的复制模式,就顺便借助MGR做基于atlas的读写分离. atlas安装 rpm安装,瞬间完成 atlas的配置文件(默认/usr/local/mysql_proxy/conf/test.cnf),个人感觉是一个非常清爽的…
前言 数据库技术是信息系统的一个核心技术,发展很快,各种功能类型数据库层出不穷,之前工作中使用过关系型数据库(mysql.oracle等).面相对象数据库(db4o).key-value存储(Memcached .Redis).嵌入式关系数据库(SQLite).最近学习和研究了一下MongoDB,整理了一下分享,本文主要介绍 如何搭建MongoDb复制集群,实现自动故障转移,读写分离. Replica Set复制集简介 MongoDB复制集(Replica Set)是MongoDB的核心高可用特…
导读: 在之前,我们搭建了MySQL组复制集群环境,MySQL组复制集群环境解决了MySQL集群内部的自动故障转移,但是,组复制并没有解决外部业务的故障转移.举个例子,在A.B.C 3台机器上搭建了组复制环境,且运行在单主模式下,这里假设A为主节点,应用程序连接A写数据,如果A节点发生宕机,主节点切换到B机器上,此时,应用程序是不会自动连接到B服务器上的,需要人工进行切换. 在这篇文章中,我们要介绍的ProxySQL就能够解决上面的问题,ProxySQL能够实现业务层面故障转移.读写分离功能,当…
6.模拟群集故障转移 6.1 模拟手动故障转移(1+1) 模拟手动故障转移的目的有以下几点: 测试群集是否能正常故障转移 测试修改端口是否能同步到备节点 测试禁用full-text和Browser服务对故障转移是否有影响 测试禁用管道协议对故障转移是否有影响 以上问题在“基于iSCSI的SQL Server 2012群集测试(二)--SQL群集安装后初始化配置测试”已经有说明,以下是在设置完成后故障转移的整个过程.正常完成. 活动节点的服务情况 非活动节点的服务情况 手动故障转移各个状态过程 6…
在上一篇文章<使用ProxySQL实现MySQL Group Replication的故障转移.读写分离(一) > 中,已经完成了MGR+ProxySQL集群的搭建,也测试了ProxySQL实现业务层面的故障转移,接下来继续测试读写分离. 王国维大师笔下的人生三境界: 第一重境界:昨夜西风凋碧树.独上高楼,望尽天涯路: 第二重境界:衣带渐宽终不悔,为伊消得人憔悴: 第三重境界:众里寻他千百度,蓦然回首,那人却在灯火阑珊处. 作为一个一根筋的学渣程序员,我还没能想透彻.但是数据库读写分离的三境界…
Mongodb是一种非关系数据库(NoSQL),非关系型数据库的产生就是为了解决大数据量.高扩展性.高性能.灵活数据模型.高可用性.MongoDB官方已经不建议使用主从模式了,替代方案是采用副本集的模式.主从模式其实就是一个单副本的应用,没有很好的扩展性和容错性,而Mongodb副本集具有多个副本保证了容错性,就算一个副本挂掉了还有很多副本存在,主节点挂掉后,整个集群内会实现自动切换. Mongodb副本集的工作原理客户端连接到整个Mongodb副本集,不关心具体哪一台节点机是否挂掉.主节点机负…
读写分离实现步骤: 从库能够进行查询就更好了,这样可以分担主库的大量的查询请求. 1) 先向主库中插入一条测试数据 rs1:PRIMARY> db.c1.insert({age:30});db.c1.insert({age:30}); WriteResult({ "nInserted" : 1 }) rs1:PRIMARY>  db.c1.find() db.c1.find() { "_id" : ObjectId("5791ef011f4c6…
golang(gin框架),基于RESTFUL的跨语言远程通信尝试 背景: 在今年的项目实训过程中,遇到了这样的问题: 企业老师讲课实用的技术栈是Java springboot. 实训实际给我们讲课以外的开发时间非常短暂,为了方便协作.提高效率,我们想要将系统模块拆分成几个粒度比较大的分布式服务.然而同学合作开发之间用的语言栈不相同,让大家都学习类似gRPC的跨语言远程调用技术也不现实,于是便决定通过一个中心网关对各个模块发起http restful调用,实现模块服务的拆分. 简单尝试: spr…
MySQL HA方案之MySQL半复制+MHA+Keepalived+Atlas+LVS 简介 目前Mysql高可用的方案有好多,比如MMM,heartbeat+drbd,Cluster等,还有percona的Galera Cluster等.这些高可用软件各有优劣.在进行高可用方案选择时,主要是看业务还有对数据一致性方面的要求.本文探讨的是MHA这种方案. 至于DAL层,也有很多方案,现在主流的一是在应用层写数据库路由,当然这个效率也是最快的,但是最大的缺陷就是运维难度大,技术难度也大,需 要有…
在很多Web系统中,一般都可能提供一些图标的选择,方便配置按钮,菜单等界面元素的图标,从而是Web系统界面看起来更加美观和协调.但是在系统中一般内置的图标样式相对比较有限,而且硬编码写到样式表里面,这样给我们扩展使用有很多的不方便.基于这个原因,我想如果能够独立一个模块,自动根据图标生成图标CSS样式文件,并存储相应的记录到数据库里面,方便我们查询显示,那样我们使用起来就很方便了,最后有了这些数据,只需要做一个通用的图标选择界面,并可以在很多地方重用了.本文正是基于这个思路,开发了一个图标管理模…