模块十三_MySQL海量数据存储与优化(下)

2020-12-01  本文已影响0人  西西弗斯XD

序言:

文章内容输出来源:拉勾教育Java高薪训练营。
本篇文章是学习课程中的一部分课后笔记

一、分库分表介绍

1.遇到的问题
2.解决方案
3.分库分表规则
4.分库分表其他情况

二、ShardingSphere简介

1.ShardingSphere

Apache ShardingSphere是一款开源的分布式数据库中间件组成的生态圈。它由Sharding-JDBC、
Sharding-Proxy和Sharding-Sidecar(规划中)这3款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。


shardingsphere.png 对比.png
2.Sharding-JDBC

Sharding-JDBC定位为轻量级Java框架,在Java的JDBC层提供的额外服务。 它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架的使用。

Sharding-JDBC主要功能

Sharding-JDBC内部结构

内部结构.png

初始化过程:

  1. 根据配置的信息生成Configuration对象
  2. 通过Factory会将Configuration对象转化为Rule对象
  3. 通过Factory会将Rule对象与DataSource对象封装
  4. Sharding-JDBC使用DataSource进行分库分表和读写分离操作
3.Sharding-Proxy

harding-Proxy是ShardingSphere的第二个产品,定位为透明化的数据库代理端,提供封装了数据库
二进制协议的服务端版本,用于完成对异构语言的支持。
目前先提供MySQL版本,它可以使用任何兼容MySQL协议的访问客户端(如:MySQL Command Client, MySQL Workbench等操作数据,对DBA更加友好。

proxy.png

Sharding-Proxy使用过程

若想使用Sharding-Proxy的数据库治理功能,则需要使用注册中心实现实例熔断和从库禁用功能。
Sharding-Proxy默认提供了Zookeeper的注册中心解决方案。只需按照配置规则进行注册中心的配置,即可使用。

注意事项:

上一篇 下一篇

猜你喜欢

热点阅读