Mycat个人心得笔记(四)

匿名 (未验证) 提交于 2019-12-02 23:38:02
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LiuY521/article/details/90753979


Ŀ¼

一.Mycat的介绍

1.为什么要用Mycat呢?

2.MyCat的目标是

3.同类产品和运行原理

1.运行原理

2.同类产品

3.假死现象

二.Mycat安装

https://blog.csdn.net/LiuY521/article/details/90754711


一.Mycat的介绍

中国第一开源数据库分布式中间件,

特点

  • 实现高性能的读写分离
  • 实现水平分片计算 100亿大表数据;
  • 数据的输入输出整合

1.为什么要用Mycat呢?

如图所示,之前做了个Easymall项目,上篇博客写了一个双机热备,读写分离,那么如何让项目实现,写的时候连接主节点,读取的时候,使用从节点呢?通过代码其实也可以实现,但是要写的代码量过于庞大,那么为什么不使用,工具呢?能做车,为什么步行呢,数据库集群交给Mycat来管理

2.MyCat的目标是

低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。

3.同类产品和运行原理

1.运行原理

  • 代理客户端拦截前端客户端发送的sql
  • 计算读写分离,计算分片,整理最终的sql
  • 将结果从数据库返回给前端客户端使用
  • 前端客户端对于后端的数据库集群完全不可见的;

2.同类产品

  • ameoba:cobar和mycat前身,版本不更新了很多需求功能读写分离,高可用替换等支持的不好.
  • cobar:实实在在的mycat,早期后端连接时阻塞线程逻辑
  • mycat:自主实现了后端连接的NIO编码,通过非阻塞编程解决后端数据库假死现象;

3.假死现象

  • 阻塞线程:线程从执行到结束一直占用非空闲(每一步之间是同步).类似打电话
  • 非阻塞线程:线程执行一定步骤,根据后续的逻辑进行空闲和繁忙的分配(每一步都是异步的).

  • mycat实现了后端的nio非阻塞编程,
  • 每一个线程连接后端数据库后,
  • 无需等待它执行完毕,
  • 无需等待接收返回,
  • 线程利用率非常高(redis也是非阻塞)

二.Mycat安装

https://blog.csdn.net/LiuY521/article/details/90754711

文章来源: https://blog.csdn.net/LiuY521/article/details/90753979
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!