ShardingSphere初探1 -- 概览
知道这个框架是通过一期QQ课堂
https://shardingsphere.apache.org 官网
https://github.com/apache/incubator-shardingsphere github库
https://shardingsphere.apache.org/document/current/cn/overview/ 中文文档
https://shardingsphere.apache.org/community/cn/contribute/ 社区
介绍:

Apache ShardingSphere (Incubator) 是一套开源的分布式数据库中间件解决方案组成的生态圈, 它由Sharding-JDBC, Sharding-Proxy和 Sharding-Sidecar (规划中) 这3款相互独立,
却又能够混合部署使用的产品组成. 它们均提供标准化的数据分片, 分布式事务和数据库治理功能,可适用于如Java同构, 异构语言,容器, 云原生等各种多样化的应用场景.
ShardingSphere定位为关系型数据库中间件, 旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力, 而并非实现一个全新的关系型数据库. 它通过关注不变, 进而抓住
事物本质. 关系型数据库当今依然占有巨大市场, 是各个公司核心业务的基石, 未来也难以撼动, 我们目前阶段更加关注在原有基础上的增量, 而非颠覆.
目前所有的可用发布都是进入Apache孵化器之前的发布版本, Apache官方发布将从4.0.0版本开始.

## 数据分片
分库 & 分表
读写分离
分片策略定制化
无中心化分布式主键

## 分布式事务
从本地事务接口自动对接分布式事务
XA事务和柔性事务自由切换
原生数据源接口自动转换XA接口
柔性事务自动补偿, 无需用户实现补偿接口

## 数据库治理
服务治理
* 配置动态化
* 高可用
* 熔断 & 禁用
数据治理
* 数据脱敏
* 权限
可观察性
* APM
* 链路追踪
* 调用拓扑
* OpenTracing对接
弹性伸缩(规划中)
其github库更新也是比较活跃,我关注时最新更新是 2 days ago

在社区中查看采用公司,可以看到有 当当, 唯品会, 58同城, 京东金融, 天涯社区, 广西壮族自治区国土资源信息中心, 开课啦 ... 等比较知名公司.
其中该框架是最早由 当当 提供给了Apache基金会.
概览:

Sharding-JDBC
该组件定位为轻量级Java框架, 在Java的JDBC层提供的额外服务. 它适用客户端直连数据库,以jar包形式提供服务,
无需额外部署和依赖, 可理解为增强版的JDBC驱动, 完全兼容JDBC和各种ORM框架.
### 特点
* 适用于任何基于Java的ORM框架,如: JPA, Hibernate, MyBatis, Spring JDBC Template 或直接适用JDBC.
* 基于任何第三方的数据库连接池, 如: DBCP, C3P0, BoneCP, Druid, HikariCP 等.
* 支持任意实现JDBC规范的数据库. 目前支持MySQL, Oracle, SQLServer 和 PostgreSQL.

Sharding-Proxy
定位为透明化的数据库代理端, 提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持. 目前先提供MySQL版本,
它可以使用任何兼容MySQL协议的访问客户端(如: MySQL Command Client, MySQL Workbench等)操作数据, 对DBA更加友好.
* 向应用程序完全透明, 可直接当作MySQL使用.
* 适用于任何兼容MySQL协议的客户端.

Sharding-Sidecar(TBD)
定位为Kubernetes或Mesos的云原生数据库代理, 以DaemonSet的形式代理所有对数据库的访问.
通过无中心, 零侵入的方案提供与数据库交互的啮合层, 即 Database Mesh , 又可称数据网格.
Database Mesh的关注重点在于如何将分布式的数据访问应用与数据库有机串联起来,它更加关注
的是交互, 是将杂乱无章的应用与数据库之间的交互有效的梳理. 使用Database Mesh,访问数据库
的应用和数据库终将形成一个巨大的网格体系, 应用和数据库只需在网格体系中对号入座即可,它们
都是被啮合层所治理的对象.

模块区别点:
混合架构
Sharding-JDBC采用无中心化架构,适用于Java开发的高性能的轻量级OLTP应用;
Sharding-Proxy提供静态入口以及异构语言的支持,适用于OLAP应用以及对分片数据库进行管理和运维的场景.
ShardingSphere是多接入端共同组成的生态圈. 通过混合使用Sharding-JDBC和Sharding-Proxy,并采用同一注册中心统一配置分片策略,
能够灵活的搭建适用于各种场景的应用系统,架构师可以更加自由的调整适用于当前业务的最佳系统架构.

规划线路图

下一篇:着重介绍Sharding-JDBC 以及 简单demo
ShardingSphere初探1 -- 概览的更多相关文章
- ShardingSphere初探1 --Sharding-JDBC
Sharding-JDBC 引入maven依赖: <dependency> <groupId>org.apache.shardingsphere</groupId> ...
- [原创]Sharding-Sphere之Proxy初探
大家好,拓海(https://github.com/tuohai666)今天为大家分享Sharding-Sphere推出的重磅产品:Sharding-Proxy!在之前闪亮登场的Sharding-Sp ...
- DBAplus社群线上分享----Sharding-Sphere之Proxy初探
功能 Cobar Mycat Heisenberg Shark TDDL Sharding-JDBC 是否开源 开源 开源 开源 开源 部分开源 开源 架构模型 Proxy架构 Proxy架构 Pro ...
- 【Direct2D1.1初探】Direct2D特效概览
转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 Direct2D是一个基于Direct3D的2D图形API,可以利用硬件加速特性来提供高性能高质量的2D渲染.但 ...
- 初探Stage3D(一) 3D渲染基础原理
关于本文 本文主要想介绍一下3D渲染的基本流程,及怎样把一个三角形(0,1,0),(1,0,1),(0,0,1)最终渲染到屏幕上来.文章的目的是对3D渲染流程做一个简单的介绍,其中不涉及任何语言的AP ...
- http概览
http概览 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它可以使浏览器更加高效,使网络传输减少.它不仅 ...
- spring事务详解(一)初探事务
系列目录 spring事务详解(一)初探事务 spring事务详解(二)简单样例 spring事务详解(三)源码详解 spring事务详解(四)测试验证 spring事务详解(五)总结提高 引子 很多 ...
- 下周二推出“音视频技术WebRTC初探”公开课,欢迎捧场!
下周二推出"音视频技术WebRTC初探"公开课,欢迎捧场! 公开课课程链接:http://edu.csdn.net/huiyiCourse/detail/90 课程的解说资料 ...
- ShardingSphere 集成 CosId 实战
背景 在软件系统演进过程中,随着业务规模的增长 (TPS/存储容量),我们需要通过集群化部署来分摊计算.存储压力. 应用服务的无状态设计使其具备了伸缩性.在使用 Kubernetes 部署时我们只需要 ...
随机推荐
- 【1】【leetcode-115 动态规划】 不同的子序列
给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数. 一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串.(例如," ...
- Etcd 使用入门
etcd简介 etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库.etcd内部采用raft协议作为一致性算法,etcd基于Go语 ...
- 常见的python练习题
1.冒泡排序 def bubble_sort(lists): len_list=len(lists) for i in range(len_list): for j in range(len_list ...
- Nikitosh 和异或(trie树)
题目: #10051. 「一本通 2.3 例 3」Nikitosh 和异或 解析: 首先我们知道一个性质\(x\oplus x=0\) 我们要求\[\bigoplus_{i = l}^ra_i\]的话 ...
- 【强烈推荐】ok-admin 一个好看又好用的后台模版!!!
ok-admin 一个很赞的,扁平化风格的,响应式布局的后台管理模版,旨为后端程序员减压! 目前一共有两个版本:ok-admin v1.0和ok-admin v2.0可自由选择! 源码地址:https ...
- getElementsByClassName兼容 封装
众所周知,JS获取DOM有个getElementsByClassName,非常方便,但是呢,为了兼容某些浏览器(你懂的).只能 进行封装下了.解决方法如下 <!DOCTYPE html> ...
- 推荐一个去除图片人物背景的工具Removebg
可以在线使用,url:https://www.remove.bg/users/sign_in 用邮箱免注册一个免费账号: 注册的邮箱会收到一封激活账号的邮件: 点击Activate account后激 ...
- nginx服务器除了更目录可以访问,其他都出现404
配置如下: listen 80; server_name www.hongtaofei.com; location / { root /home/www/shop/public; index inde ...
- 使用python模拟实现KNN算法
一.KNN简介 1.KNN算法也称为K邻近算法,是数据挖掘分类技术之一.所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表. 2.KNN算法的核心思想是如果一个样本 ...
- index.jsp乱码问题的解决
我们在做java项目的时候,都会有个首页,一般就是index.jsp,然后在index.jsp中引入相关的文件,一般也是引入打包过后的相关资源文件. 当index.jsp上面的中文出现乱码的时候,就需 ...