目录 必读 一.Centos7.Mac安装MySQL 二.主从复制原理 2.1.基于binlog_filename + position 2.2.基于GTID 三.my.cnf 四.测试SQL 五.中间件使用.概念串讲 六.总揽启动流程 七.权限管理实现原理 八.MySQL协议-Handshake!和中间件握手机制原理 九.中间件不断接受处理客户端SQL原理 十.中间件是如何执行你的select语句的? 十一.读写分离实现原理 十二.赠送Proxy源码 必读 欢迎关注白日梦的公众号(风一样的程序…
此文转自: https://www.jianshu.com/p/9f1347ef75dd 2013年阿里的Cobar在社区使用过程中发现存在一些比较严重的问题,如高并发下的假死,心跳连接的故障,只实现了一半的NIO,和看上去很美的自动连接让我们在使用过程中掉入了一个接一个的陷阱,苦苦挣扎.终于,经过Mycat带头人Leader.us的改良——Mycat诞生了. Mycat 开源后,一些 Cobar 的用户参与了Mycat的开发,最终 Mycat 发展成为一个由众多软件公司的实力派架构师和资深开发…
关于 MyCat 的铺垫文章已经写了三篇了: MySQL 只能做小项目?松哥要说几句公道话! 北冥有 Data,其名为鲲,鲲之大,一个 MySQL 放不下! What?Tomcat 竟然也算中间件? 今天终于可以迎接我们的大 Boss 出场了! MyCat 简介 前面文章我们提到,如果数据量比较大的话,我们需要对数据进行分库分表,分完之后,原本存在一个数据库中的数据,现在就存在多个数据库中了,就像下面这样: 那么此时 MyCat 所扮演的角色就是分布式数据库中间件! MyCat 是一个开源的分布…
最新整理的spring面试题从基础到高级,干货满满 前言: 收藏了一些关于Spring的面试题,一方面是为了准备找工作的时候看面试题,另一方面,通过面试题的方式加深一些自己的理论知识. spring 是个Java企业级应用的开源开发框架.Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用.Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯.也是大厂面试经常问到的. 一.基础篇 Spring 概 述 什 么 是 s…
MyCat是当下很火的开源分布式数据库中间件,特意花费了一些精力研究其实现方式与内部机制,在此针对某些较为重要的源码进行粗浅的分析,希望与感兴趣的朋友交流探讨. 本源码分析系列主要针对代码实现,配置.操作和相关概念解释不作为重点. MyCat源码分析系列之——配置信息与启动流程 MyCat源码分析系列之——前后端验证 MyCat源码分析系列之——BufferPool与缓存机制 MyCat源码分析系列之——SQL下发 MyCat源码分析系列之——结果合并 备注: 本源码分析基于目前稳定版本MyCa…
什么是MyCAT?简单的说,MyCAT就是: 一个彻底开源的,面向企业应用开发的“大数据库集群” 支持事务.ACID.可以替代Mysql的加强版数据库 ? 一个可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群 ? 一个融合内存缓存技术.Nosql技术.HDFS大数据的新型SQL Server ? 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 ? 一个新颖的数据库中间件产品. 目标 低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速…
当在项目中mysql数据库成为瓶颈的时候,我们一般会使用主从复制,分库分表的方式来提高数据库的响应速度,比如mysql主从复制,在没有数据库中间件的情况下,我们只能由开发工程师在程序中控制,这对于一个在正在线上运行的项目来说,需要改动的代码量蛮大的,也不方便扩展,比如,我想再添加一台从机,下面进行mycat入门 一.部署步骤详解 (1) 用命令行工具或图形化客户端,连接MYSQL,创建DEMO所用三个分片数据库: CREATE database db1; CREATE database db2;…
比较了业界流行的MySQL分布式数据库中间件,关于每个产品的介绍,网上的资料比较多,本文只是对几款产品的架构进行比较,从中可以看出中间件发展和演进路线 框架比较 TDDL Amoeba Cobar MyCat 点评 TDDL不同于其它几款产品,并非独立的中间件,只能算作中间层,是以Jar包方式提供给应用调用.属于JDBC Shard的思想,网上也有很多其它类似产品. 另外,网上有关于TDDL的图,如http://www.tuicool.com/articles/nmeuu2 中的图 1-2 TD…
友情提示:非原文链接可能会影响您的阅读体验,欢迎查看原文.(http://blog.geekcome.com) 原文地址:http://blog.geekcome.com/archives/284 在上一篇中介绍了Cobar和client初次建立连接的过程,Cobar监听端口,client发起连接请求,Cobar发送握手数据包,client发送认证数据包最后依据认证的结果Cobar向client发送认证结果. 在认证成功后Cobar会将该连接的回调处理函数由FrontendAuthenticat…
Cobar启动完毕,监听特定端口.整个认证的流程图: NIOAcceptor类继承自Thread类,该类的对象会以线程的方式执行,进行连接的监听. NIOAcceptor启动的初始化步骤例如以下: 1 .打开一个selector,获取一个ServerSocketChannel对象.对该对象的socket绑定特定的监听端口,并设置该channel为非堵塞模式,然后想selector注冊该channel,绑定感兴趣的事件位OP_ACCEPT. 01 public NIOAcceptor(String…