【愚公系列】2022年04月 .NET架构班 036-分布式中间件 ShardingSphere-Proxy介绍

举报
愚公搬代码 发表于 2022/04/05 09:07:30 2022/04/05
【摘要】 一、前言Apache ShardingSphere 是一款开源分布式数据库生态项目,由 JDBC、Proxy 和 Sidecar 3 款产品组成。其核心采用可插拔架构,通过组件扩展功能。对上以数据库协议及 SQL 方式提供诸多增强功能,包括数据分片、访问路由、数据安全等;对下原生支持 MySQL、PostgreSQL、SQL Server、Oracle 等多种数据存储引擎。Apache S...

一、前言

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/user-manual/shardingsphere-proxy/usage/startup/

开发者文档地址:https://shardingsphere.apache.org/document/current/cn/dev-manual/

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。