`
中国爪哇程序员
  • 浏览: 167932 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

MyCat

 
阅读更多
今天想写一篇深入浅出mycat相关的文章。

一.mycat是什么?
mycat是mysql的数据库中间件,当然它也可以支持其他主流数据库oracle,sqlserver,db2等。
那么当前主流的数据库中间有哪些呢,优缺点是什么。请参考下面的博客:
http://www.guokr.com/blog/475765/

二.学习资料
官网:http://www.mycat.org.cn/
网上的资料基本上都是从官网上抄的。 在官网上找到链接,用Git 在github上下载资料。
没用过git的,提供个链接 http://code.taobao.org/svn/openclouddb/downloads/
直接下载即可.
目前有三个版本,前两天刚出来个1.4-RC. 还能看到2.0-dev.看样子想出个2.0的大版本。
目前我测试的是1.4-RC


三.故障读写分离测试
后期准备查看根据源码进行研究。
前期是为了测试功能点。

我在本地起了四个mysql服务和一个mycat服务。我把他们都做成服务,在windows下管理。要不就要开五个dos窗口对这五个服务做起停操作。关闭启动都在服务管理下操作。如图:


mycat的schema.xml配置了双主从配置。配置如下:


PS:虽然上面定义了M1、M2,但是M2才是默认启动的(即balance=0的场合)。M1,M2跟<writheHost>位置有关,放在下面的是默认起的那套系统。

用的是默认的测试用例表:employee.
四个mysql,共建了八张表。 每张表一条记录,ID 从1到8。这样根据查询的结果,容易看到取的是哪个库。
测试结果
http://wenku.baidu.com/link?url=N2Zv2Gbm-PgGppZdZCUOFv_dyQIlAxbLrFBPMLLyNHy89Wj7qcS4fawjQXzu0uEKlaNrlxP8PHHuR-Isf2mTTKAHFgiCXbeBVM1N3pFGhU_

附件report是详细的冗灾测试报告。
Balance参数设置:
1. balance=“0”, 所有读操作都发送到当前可用的writeHost上。
2. balance=“1”,所有读操作都随机的发送到readHost。
3. balance=“2”,所有读操作都随机的在writeHost、readhost上分发
WriteType参数设置:
1. writeType=“0”, 所有写操作都发送到可用的writeHost上。只用一个writeHost执行写操作。
2. writeType=“1”,所有写操作都随机的发送到writeHost。多个writeHost随机写。
“readHost是从属于writeHost的,即意味着它从那个writeHost获取同步数据,因此,当它所属的writeHost宕机了,则它也不会再参与到读写分离中来,即“不工作了”,这是因为此时,它的数据已经“不可靠”了。基于这个考虑,目前mycat 1.3和1.4版本中,若想支持MySQL一主一从的标准配置,并且在主节点宕机的情况下,从节点还能读取数据,则需要在Mycat里配置为两个writeHost并设置banlance=1。”

报告中,包括了
balance=“0”,writeType=“0”;
balance=“1”,writeType=“0”;
balance=“2”,writeType=“0”;
balance=“0”,writeType=“1”;
balance=“1”,writeType=“1”;
balance=“2”,writeType=“1”;
六种场合下,双主从冗灾,读写测试报告。

四.学习mycat的进阶
个人觉得应该分为四个步骤,前三步相当于感性认识。最后一步是理性认识。
第一步,双主从环境下,加入冗灾场景,测试读写分离。
第二步,分库分表演练。
第三步,模拟生产环境下,宕机的回复,这块已经不仅仅是mycat的范畴。
第四步,终极了解mycat,还是要看源代码的。呵呵。带着问题去看,如mysql宕机后,是如何切换的,mysql回复后,又是如何重新检测的。本人在测试时,这段时间有些长,为什么要这么多长,以及处理机制是什么样。前面三步,他在代码层面是如何处理的。



  • 大小: 50.2 KB
  • 大小: 31.2 KB
分享到:
评论

相关推荐

    MyCat测试报告(单机MyCAT对比多机MyCAT)1

    《MyCat测试报告:单机与多机集群的性能比较》 MyCat,作为一个流行的开源分布式数据库系统,常被用于解决大数据场景下的高并发问题。本测试报告旨在探究单台MyCat与多台MyCat集群在性能上的差异,并对比前端使用...

    mycat2基础安装包

    【标题】"mycat2基础安装包"涉及的是开源数据库中间件Mycat的第二代版本,Mycat是一款基于Java开发的分布式数据库系统,它主要用于解决大数据量、高并发场景下的数据存储与访问问题。在传统的单机数据库无法满足业务...

    mycat-web、mycat-eye

    MyCat是一款开源的分布式数据库系统,它作为Java开发的数据库中间件,被广泛应用于大数据分布式存储和处理场景。MyCat的主要目标是解决大数据量、高并发情况下的数据读写问题,提供了一种分库分表的解决方案,使得...

    mycat2 install-template(mycat2-install-template-1.20.zip)

    【标题】"mycat2 install-template(mycat2-install-template-1.20.zip)" 指的是MyCat 2的一个安装模板文件,版本号为1.20,存储在一个名为“mycat2-install-template-1.20.zip”的压缩包内。MyCat是开源的、基于...

    mycat2(mycat2映射关系.pdf)

    MyCat2映射关系概述 MyCat2是一款开源的数据库中间件,可以实现数据库的分布式处理、读写分离、负载均衡等功能。在MyCat2中,数据源、集群和逻辑表是三个核心概念。 数据源(DataSource)是指实际的数据库实例,...

    mycat2 install-template(mycat2-install-template-1.21.zip)

    【标题】"mycat2 install-template(mycat2-install-template-1.21.zip)" 指的是MyCat 2的一个安装模板文件,版本为1.21,通常包含了安装MyCat 2所需的所有配置文件和脚本,用于简化部署过程。 【描述】虽然描述...

    MyCat高可用负载均衡集群实现(HAProxy+Keepalived+MyCat)

    标题所涉及的知识点为“Mycat高可用负载均衡集群实现”,这是使用HAProxy和Keepalived技术来达成MyCat服务器集群的高可用性和负载均衡的方案。下面详细说明这一知识点。 首先,Mycat是一个数据库中间件,它可以实现...

    mycat2(mycat2-1.21-release-jar-with-dependencies.jar)

    《深入解析mycat2:基于mycat2-1.21-release-jar-with-dependencies.jar的分布式数据库中间件》 mycat2是一款开源的、高性能的、基于Java开发的分布式数据库中间件,它旨在解决大数据分布式存储和处理的问题。mycat...

    mycat2-1.21

    【标题】"mycat2-1.21" 指的是Mycat数据库中间件的一个特定版本,即1.21版。Mycat是一款开源的、基于Java开发的分布式数据库系统,常用于大数据环境下的数据库集群管理,能够实现数据库的水平扩展,提升系统的并发...

    Mycat2 v1.21-2022-4-7源码(Mycat2-1.21-2022-4-7.tar.gz)

    《深入解析Mycat2 v1.21-2022-4-7源码》 Mycat,作为一款开源的分布式数据库中间件,是大数据时代应对高并发、海量数据场景的重要解决方案之一。Mycat2是其最新版本,提供了一种更高效、更稳定的数据分片策略,使得...

    MySQL 中间件 MyCat 1.6.5 WIN 版 免安装

    MySQL中间件MyCat是一款在大数据环境下广泛使用的数据库管理和分发工具,特别针对MySQL数据库系统设计,旨在实现数据库的读写分离和水平扩展。MyCat 1.6.5是其一个稳定版本,专为Windows环境提供了免安装的便捷性。...

    Mycat-1.6.7.3.zip

    《Mycat数据库分片中间件详解》 Mycat,作为一款开源的分布式数据库中间件,被广泛应用于大数据量、高并发的互联网环境中。它实现了数据库的分片功能,可以将一个大表拆分成多个小表,分散在不同的数据库服务器上,...

    MyCat 完整版 官方文档 PDF

    《MyCat 完整版官方文档 PDF》是学习和理解分布式数据库系统MyCat的重要参考资料,尤其适合初学者。MyCat,作为一个开源的分布式数据库中间件,它实现了MySQL的协议,使得应用可以透明地访问分布式数据库集群,从而...

    MyCat从入门到放弃

    【MyCat从入门到放弃】 MyCat是一款开源的分布式数据库中间件,它的设计目标是让大数据分布式处理变得简单。在大型互联网应用中,面对高并发、海量数据的挑战,单机数据库往往无法满足需求,因此MyCat应运而生。本...

    关系型数据的分布式处理系统MyCAT

    ### 关系型数据的分布式处理系统MyCAT:深入解析与应用 #### 1. MyCAT 概述 ##### 1.1 背景 随着信息技术的快速发展,传统的数据库技术面临着越来越大的挑战。特别是当数据库应用扩展到互联网级别时,集中式...

    Windows下安装MyCat:Mycat-server-1.6-RELEASE-20161028204710-win

    在Windows环境下安装Mycat,首先需要理解Mycat是什么。Mycat是一个开源的数据库分片中间件,主要用于解决大数据场景下的数据存储和查询问题。它基于Java编写,能够支持多种数据库系统,如MySQL、Oracle、DB2、SQL ...

    MyCat权威指南 更新于2018年7月25

    Mycat 发展到目前的版本,已经不是一个单纯的 MySQL 代理了,它的后端可以支持 MySQL、SQL Server、 Oracle、DB2、PostgreSQL 等主流数据库,也支持 MongoDB 这种新型 NoSQL 方式的存储,未来还会支持更 多类型的...

    proxy与mycat对比测试

    Proxy和Mycat是两种常用的中间件,用于实现这些功能。本篇文章将深入探讨proxy和Mycat的对比测试,以及如何在MySQL主从架构中进行测试。 首先,我们来看proxy。Proxy通常指的是数据库代理服务器,它位于应用服务器...

    mycat生产使用遇到的8大问题汇总

    Mycat作为一款开源的分布式数据库中间件,被广泛应用于大数据处理和高并发场景,为企业提供了数据库分库分表、读写分离等解决方案。然而,在实际生产环境中,Mycat的使用往往会遇到一些常见问题。以下是对这些问题的...

Global site tag (gtag.js) - Google Analytics