加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mycat怎样实现Mysql集群读写分离

发布时间:2023-05-15 15:23:25 所属栏目:MySql教程 来源:
导读:这篇文章给大家分享的是有关Mycat如何实现Mysql集群读写分离的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

MySQL 读写分离的概述

MySQL 作为目前世界上使用最广泛的免费数据
这篇文章给大家分享的是有关Mycat如何实现Mysql集群读写分离的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
 
MySQL 读写分离的概述
 
MySQL 作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。
 
在实际的生产环境中,由单台 MySQL 作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。
 
因此,一般来说都是通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy/Amoeba)来提升数据库的并发负载能力进行部署与实施。
 
读写分离工作原理
 
基本的原理是:
 
主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE)
 
从数据库处理 SELECT 查询操作
 
数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。
 
为什么要读写分离
 
面对越来越大的访问压力,单台的服务器的性能成为瓶颈,需要分担负载
 
主从只负责各自的写和读,极大程度的缓解 X(写)锁和 S(读)锁争用
 
从库可配置 myisam 引擎,提升查询性能以及节约系统开销
 
增加冗余,提高可用性
 
实现读写分离的方式
 
一般有两种方式实现
 
应用程序层实现,网站的程序实现
 
应用程序层实现指的是在应用程序内部及连接器中实现读写分离

优点:
 
应用程序内部实现读写分离,安装既可以使用
 
减少一定部署难度
 
访问压力在一定级别以下,性能很好
 
缺点:
 
架构一旦调整,代码要跟着变
 
难以实现高级应用,如自动分库,分表
 
无法适用大型应用场景
 
中间件层实现:
 
中间件层实现是指在外部中间件程序实现读写分离
 
常见的中间件程序
 
Cobar:
 
阿里巴巴 B2B 开发的关系型分布式系统,管理将近 3000 个 MySQL 实例。 在阿里经受住了考验,后面由于作者的走开的原因 cobar 没有人维护 了,阿里也开发了 tddl 替代 cobar。
 
MyCAT:
 
社区爱好者在阿里 cobar 基础上进行二次开发,解决了 cobar 当时存在的一些问题,并且加入了许多新的功能在其中。目前 MyCAT 社区活跃度很高,已经有一些公司在使用 MyCAT。总体来说支持度比
 
较高,也会一直维护下去。
 
OneProxy:
 
数据库界大牛,前支付宝数据库团队领导楼总开发,基于 mysql 官方 的 proxy 思想利用 c 进行开发的,OneProxy 是一款商业收费的中间件,楼总舍去了一些功能点,专注在性能和稳定性上。有人测
 
试过说在高并发下很稳定。
 
Vitess:
 
这个中间件是 Youtube 生产在使用的,但是架构很复杂。 与以往中间件不同,使用 Vitess 应用改动比较大,要使用他提供语言的 API 接口,我们可以借鉴他其中的一些设计思想。
 
Kingshard:
 
Kingshard 是前 360Atlas 中间件开发团队的陈菲利用业余时间 用 go 语言开发的,目前参与开发的人员有 3 个左右, 目前来看还不是成熟可以使用的产品,需要在不断完善。
 
Atlas:
 
360 团队基于 mysql proxy 把 lua 用 C 改写。原有版本是支持分表, 目前已经放出了分库分表版本。在网上看到一些朋友经常说在高并发下会经常挂掉,如果大家要使用需要提前做好测试。
 
MaxScale 与 MySQL Route:
 
这两个中间件都算是官方的,MaxScale 是 mariadb (MySQL 原作者维护的一个版本)研发的,目前版本不支持分库分表。MySQL Route 是现在 MySQL 官方 Oracle 公司发布出来的一个中间件。
 
优点:
 
架构设计更灵活
 
可以在程序上实现一些高级控制,如:透明化水平拆分,failover,监控可以依靠技术手段提高 mysql 性能对业务代码的影响小,同时也安全
 
缺点:
 
需要一定的开发运维团队的支持。
 
什么是 MyCAT
 
一个彻底开源的,面向企业应用开发的大数据库集群
 
支持事务、ACID、可以替代 MySQL 的加强版数据库
 
一个可以视为 MySQL 集群的企业级数据库,用来替代昂贵的 Oracle 集群
 
一个融合内存缓存技术、NoSQL 技术、HDFS 大数据的新型 SQL Server
 
结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
 
一个新颖的数据库中间件产品

MyCat 服务安装与配置
 
MyCat 有提供编译好的安装包,支持 Windows、Linux、Mac、Solaris 等系统上安装与运行
 
官方下载主页 http://www.mycat.org.cn/
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!