【愚公系列】2022年04月 .NET架构班 036-分布式中间件 ShardingSphere-Proxy介绍
一、前言
Apache ShardingSphere 是一款开源分布式数据库生态项目,由 JDBC、Proxy 和 Sidecar 3 款产品组成。其核心采用可插拔架构,通过组件扩展功能。对上以数据库协议及 SQL 方式提供诸多增强功能,包括数据分片、访问路由、数据安全等;对下原生支持 MySQL、PostgreSQL、SQL Server、Oracle 等多种数据存储引擎。Apache ShardingSphere 项目理念,是提供数据库增强计算服务平台,进而围绕其上构建生态。充分利用现有数据库的计算与存储能力,通过插件化方式增强其核心能力,为企业解决在数字化转型中面临的诸多使用难点,为加速数字化应用赋能。
官方文档:https://shardingsphere.apache.org/index_zh.html
单体系统,主要用来处理客户端的请求,客户端添加的数据,这些数据会存在到数据库对应的表中,一个表的能够存储的容量是有限的,如果超过了一定的数据量,表的处理数据的性能就会下降,是因为表是通过InnoDB来处理数据的,InnoDB通过B+树结构来进行存储,如果超过了一定的阀值,就会导致一张表性能下降,此时就需要分库分表来提升性能。
1.分表
分表:一张分成多张表
数据量大:
一张表数据量要控制在2000w以内,如果超过2000w性能就会下降。如果单表数据量超过2000w可以考虑分表。
2.分库
分库:表存储到不同数据库
并发量大:
如果并发量比较大,分表的问题会导致资源竞争大性能下降,这时候可以考虑分库
3.分库分表方案
3.1 进程内
缺陷
- 资源竞争问题
- 异常影响问题
3.2 进程外
缺陷
- 维护量上升问题
- 相对进程内性能(内网)
二、ShardingSphere-Proxy环境搭建
1.环境
1、windows10
2、linux(可选)
3、JDK 1.8
JDK下载地址:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html
2.前提
1、电商项目
2、MySQL 5.7
3、ShardingSphere-Proxy
3.步骤
3.1 电商项目准备
新建个.net core项目
3.2 MySQL 5.7准备
安装软件:mysql-installer-community-5.7.32.0.msi
下载地址:https://downloads.mysql.com/archives/installer/
3.3 ShardingSphere-Proxy
3.3.1 先下载jdk1.8
下载地址:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html
3.3.2 然后下载mysql-connector-java-5.1.47.jar
下载地址: https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar
3.3.3 然后下载apache-shardingsphere-4.1.0-sharding-proxy
官网地址:https://shardingsphere.apache.org/
下载地址:https://archive.apache.org/dist/shardingsphere/4.1.0/
开发者文档地址:https://shardingsphere.apache.org/document/current/cn/dev-manual/
- 点赞
- 收藏
- 关注作者
评论(0)