文章目录
- 🚀一、集群
- 🔎1.集群的概念
- 🔎2.集群的原理
- 🔎3.Mycat2环境搭建
- 🦋3.1 Mycat2下载和安装
- 🦋3.2 Mycat2配置
- 🦋3.3 启动mycat
- 🚀感谢:给读者的一封信
🚀一、集群
🔎1.集群的概念
1、集群历史背景:
随着互联网的迅速发展,数据量的增长和访问量的增加,单一数据库已经不能满足大规模网站的需求。传统的单机数据库在数据量达到一定级别时,系统性能会急剧下降,甚至系统崩溃。为了解决这个问题,数据库集群应运而生。
2、集群作用:
数据库集群是由多个数据库组成的系统,它们通过网络连接进行协作,提供更高的可用性、更好的性能和更强的可扩展性。具体来说,数据库集群有以下作用:
- 提高系统可用性:通过数据备份、负载均衡、故障转移等技术,确保系统在某个节点故障时能够继续提供服务。
- 提高系统性能:通过分布式计算和数据存储,实现并行处理,提高系统响应速度和处理能力。
- 提高系统可扩展性:通过增加节点数量,实现系统的线性扩展,满足数据量和访问量的增长需求。
- 提高数据安全性:通过数据备份和数据同步技术,确保数据的安全性和完整性。
数据库集群是一种高可用、高性能、高扩展性和高安全性的数据库解决方案,可以满足大规模网站和企业对数据处理的需求。
- Mycat2是一个开源的MySQL和MariaDB数据库集群解决方案,可以提供高可用性、高性能和可扩展性。它是基于MySQL协议和语法兼容的,支持分布式、读写分离、负载均衡等功能。Mycat2可以在分布式系统中作为数据分片和数据路由的中间件,也可以作为数据层缓存来提高数据库的性能。可以像使用MySQL一样使用Mycat2。对于开发人员来说根本感觉不到Mycat2的存在。Mycat2不单单是支持MySQL,像常用的关系型数据库Oracle、SqlServer都支持。
🔎2.集群的原理
- 我们来说个例子,大海捞针和一个水瓶里捞针,毋庸置疑水瓶里一定能更快找到针,因为它需要检索的范围更小。数据库集群也是如此原理,我们可以将一个数据量为300G的数据库数据平均拆分成3部分,每个数据库中只存储100G数据,此时用户搜索,先经过我们中间代理层,中间代理层同时发出3个请求执行查询,比如第1台返回100条数据,耗时3秒,第2台返回200条数据,耗时3秒,第3台返回500条数据,耗时3秒,此时中间件只需要在800条记录中进行筛选,即可检索出用户要的结果,此时耗时其实一共只有3秒,因为每台机器做运算的时候,都是同时执行。如果我们此时直接在300G的数据库查询,耗时10秒,那使用中间件进行集群的效率就非常明显
- Mycat2的实现流程和这个流程大致相似。Mycat2自身不存储数据,但用户每次链接数据库的时候,直接连接Mycat2即可.所以我们Mycat2自身其实就是个逻辑数据库,它自身还有表结构,表结构叫逻辑表。
🔎3.Mycat2环境搭建
🦋3.1 Mycat2下载和安装
- 官网:
http://www.mycat.org.cn/
mycat2运行环境框架:http://dl.mycat.org.cn/2.0/install-template/mycat2-install-template-1.20.zip
mycat2 jar包:http://dl.mycat.org.cn/2.0/1.21-release/mycat2-1.21-release-jar-with-dependencies-2022-3-14.jar
下载好的运行框架解压,把mycat2的jar包放在运行环境框架目录下的lib里
🦋3.2 Mycat2配置
1、配置datasource.json文件
目录地址:mycat\conf\datasources下prototypeDs.datasource.json
修改以下三项,指向自己真实的物理数据库地址
2、配置user.json
目录地址:mycat\conf\users下root.user.json
修改mycat登录的用户名和地址,注意用户名与文件名一直,如username改成yinlt,文件名就是yinlt.user.json
其它配置文件:
- server.json :服务类的配置
- state.json:服务状态配置
- users文件夹下:配置mycat2逻辑用户
- schemas文件夹下:配置mycat2逻辑库
- clusters文件夹下:集群分发配置
- schemas文件夹下:配置mycat2逻辑的库
🦋3.3 启动mycat
windows 下直接启动 mycat\bin 目录下的mycat.bat就行
#PowerShell
./mycat install
./mycat start
./mycat status
#CMD
mycat install
mycat start
mycat status
默认的mycat的用户: root,密码: 123456, 端口8066
🚀感谢:给读者的一封信
亲爱的读者,
我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。
如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。
我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。