【1】学习目的

(1)掌握在数据库负载增大时的处理方法

(2)理解mycat的基础概念

(3)掌握mycat基础配置和监控方法

【2】Mycat的前世今生

官网:http://mycat.io/

下载:http://dl.mycat.io/

  在2008年,阿里开发了开源数据库中间件 Amoeba,支持高可用、数据过滤、负载均衡等等

  在2012年,阿里开发了开源数据库中间件 Cobar,开源之后就没有维护了

  在2013年,阿里开发了开源数据库中间件 Mycat,Mycat社区非常火爆且该中间件好用

          在2017年,mycat 已经发展到1.6版本

        在2019-12-23,好像mysql已经进入2.0许久,但一直没有发布正式版

【3】Mycat的主要功能

【3.1】分布式数据库系统中间层

  APP=》数据库中间层=》Mysql等关系型数据库(MongoDB等nosql也可以)

    

  作用:实现读写分离、读负载均衡、数据库连接池管理(统一控制连接数量)、屏蔽后端数据库的一些变更(比如分库分表)

【3.2】实现数据库的读写分离

  

  (1)读写分离,顾名思义,就是把写操作应用在主库,把读操作应用到从库。

    (2)Mycat支持读负载均衡

  (3)Mycat支持后端MySQL高可用(指的是,我们在配置的时候,指定一台从机器也可以完成写的功能,主宕机后,该从机器会接收写请求,但其他从库并不会重新指定新主库到该机器),所以一般情况是需要配合Mysql的高可用策略(比如MHA、MMM、PXC、MGR)等带有自动故障转移的高可用方案来使用。

【3.3】数据库的垂直与水平拆分

利用Mycat配置好,就可以实现切分与访问逻辑,不用在应用程序端再做代码判断访问等。

(1)数据库垂直拆分:

分库:其实就是把不同业务模块分到不同的数据库(可以每个库都在一个实例里,也可以每个库在不同实例里)中去。

  

(2)数据库水平拆分

在单机上:可以看成是分表,把一个大表,拆分成多个表结构相同的表来共同存储表数据

在多机上:这种叫做分库分表,也就是说在单表水平分表的情况下,把每一个分的表都放到一个库(实例上去)上去。

  

【4】Mycat的应用场景

  (1)需要进行读写分离的场景(支持数据库端多种拓扑方案,如主从、主主、MHA、PXC等)

  (2)需要进行分库分表的场景(支持一千亿的单表分片)

  (3)多租户场景(什么是多租户?就是有多个应用程序共用一个数据中心,大家都连Mycat,彼此感受不到对方的存在,互不影响。最常见的就是我们现在的云服务)

  (4)数据统计系统(如报表系统,海量数据实时查询的一种方式)

  (5)HBASE的一种替代方案(HBASE:基于hadoop的列存储)

  (6)需要使用同样的方式查询多种数据库的场景(比如MYSQL、MongoDB)

【5】Mycat的优势

  (1)基于阿里的Cobar系统开发,开源系统(有一个好爸爸就是优势)

  (2)开发社区活跃(证明用的人多,维护的人多,经验和解决方案就多)

  (3)完全开源可以自定义开发,且经历过大规模、大范围的使用,解决方案多

  (4)支持多种关系型及NOSQL数据库

  (5)基于JAVA平台开发,支持多种平台部署,可移植性好

  (6)具有多种行业和项目中应用的成功案例

参考:

  imooc Mycat入门及应用

MyCat(1.1)Mycat基本介绍的更多相关文章

  1. 【Mycat】作为Mycat核心开发者,怎能不来一波Mycat系列文章?

    写在前面 Mycat是基于阿里开源的Cobar产品而研发,Cobar的稳定性.可靠性.优秀的架构和性能以及众多成熟的使用案例使得Mycat一开始就拥有一个很好的起点,站在巨人的肩膀上,我们能看到更远. ...

  2. Mysql系列九:使用zookeeper管理远程Mycat配置文件、Mycat监控、Mycat数据迁移(扩容)

    一.使用zookeeper管理远程Mycat配置文件 环境准备: 虚拟机192.168.152.130: zookeeper,具体参考前面文章 搭建dubbo+zookeeper+dubboadmin ...

  3. 应用集成mycat,实现mycat的高可用与mysql的读写分离

    前言 开心一刻 一个女人自朋友圈写道:我家老公昨天和别人家的老婆出去旅游,迄今未归,我则被别人家的老公折腾了一天,好累哦! 圈子下面,评论无数,老公在下面评论到:能不能好好说话,我只不过陪女儿去毕业旅 ...

  4. MyCat教程三:安装及配置介绍

    一.安装MyCat 1.安装准备环境 1.1 安装JDK   因为MyCat是java开发的,所以需要java虚拟机环境,在Linux节点中安装JDK是必须的. 1.2 放开相关端口   在主从节点上 ...

  5. MyCat教程一:MyCat的简单介绍

    MyCat教程二:mysql主从复制实现 MyCat教程三:安装及配置介绍 MyCat教程四:实现读写分离 MyCat教程五:实现分库分表 MyCat教程六:全局序列号-全局主键的自增长 一.MyCa ...

  6. [转帖]MyCat教程【简单介绍】

    MyCat教程[简单介绍] 2019-10-15 10:27:23 波波烤鸭 阅读数 618 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. ...

  7. mycat的基本介绍 看这一篇就够了

    1.前置知识 1.分布式系统 ​ 分布式系统是指其组件分布在网络上,组件之间通过传递消息进行通信和动作协调的系统.它的核心理念是让多台服务器协同工作,完成单台服务器无法处理的任务,尤其是高并发或者大数 ...

  8. MYCAT介绍(转)

    从定义和分类来看,它是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个M ...

  9. Mycat 介绍

    Mycat 是什么 Mycat是什么?从定义和分类来看,它是一个开源的分布式数据库系统,是一个实现了 MySQL协议的的Server,前端用户可以把它看作是一个数据库代理,用 MySQL客户端工具和命 ...

  10. Mycat分布式数据库架构解决方案--Mycat的介绍

    echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 如果我 ...

随机推荐

  1. idea的项目转maven项目

    鼠标右键pom.xml>>>>>> Add as Maven Project

  2. ant安装(for linux)

      一. 下载 从http://ant.apache.org/bindownload.cgi可以下载最新的tar包:apache-ant-1.8.4-bin.tar.gz   二. 解压安装 将ant ...

  3. spring结合shiro的学习总结

    pom文件加入 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-c ...

  4. Quartz.Net—TriggerBuilder

    TriggerBuilder TriggerBuilder是一个建造者模式,链式建造.通过静态方法构建一个TriggerBuilder实例,然后再调用类方法Build()创建一个ITrigger的实现 ...

  5. ajax后台跳转无效的原因

    Ajax只是利用脚本访问对应url获取数据而已,不能做除了获取返回数据以外的其它动作了.所以浏览器端是不会发起重定向的. 1)正常的http url请求,只有浏览器和服务器两个参与者.浏览器端发起一个 ...

  6. 考试应对(Java语法速览)

    1.从命令行输入数据 格式:Scanner reader=new Scanner(System.in); 此reader对象可以使用的方法:nextBoolean(),nextByte(),nextS ...

  7. Android studio 3.1.3真机调试报错,no target device found

    Android studio 3.1.2 的 Android monitor 改为 Android profiler,直接点这个就可以真机调试,在手机安装相应app 如果不行,报错,"no ...

  8. S04_CH03_QSPI烧写LINUX系统

    S04_CH03_QSPI烧写LINUX系统 3.1概述 3.2搭建硬件系统 本章硬件工程还是使用<S04_CH01_搭建工程移植LINUX/测试EMMC/VGA>所搭建的VIVADO工程 ...

  9. spring整合MQ

    ---恢复内容开始--- 一. 导入依赖 <dependencies> <!-- ActiveMQ客户端完整jar包依赖 --> <dependency> < ...

  10. mtd-utils 的 使用

    关于编译可以查看文章:<Arm-Linux 移植 mtd-utils 1.x> 查看信息 使用命令前用cat /proc/mtd 查看一下mtdchar字符设备:或者用ls -l /dev ...