成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

十五張圖帶你快速入門 Shardingsphere-Proxy

數據庫 其他數據庫
ShardingSphere-Proxy 定位為透明化的數據庫代理端,通過實現數據庫二進制協議,對異構語言提供支持。目前提供 MySQL 和 PostgreSQL 協議,透明化數據庫操作,對 DBA 更加友好。

Apache ShardingSphere 是一款分布式的數據庫生態系統,它包含兩大產品:

  • ShardingSphere-Proxy
  • ShardingSphere-JDBC

很多同學對于 ShardingSphere-JDBC 已經能非常熟悉的使用了,但關于網上關于 ShardingSphere-Proxy 5.5 的使用教程卻非常少。

所以這篇文章,筆者嘗試帶大家快速入門  ShardingSphere-Proxy 5.5 ,理解它的基本原理以及實戰流程。

圖片圖片

1 理解 Proxy 模式

ShardingSphere-Proxy 定位為透明化的數據庫代理端,通過實現數據庫二進制協議,對異構語言提供支持。目前提供 MySQL 和 PostgreSQL 協議,透明化數據庫操作,對 DBA 更加友好。

  • 向應用程序完全透明,可直接當做 MySQL/PostgreSQL 使用;
  • 兼容 MariaDB 等基于 MySQL 協議的數據庫,以及 openGauss 等基于 PostgreSQL 協議的數據庫;
  • 適用于任何兼容 MySQL/PostgreSQL 協議的的客戶端,如:MySQL Command Client, MySQL Workbench, Navicat 等。

圖片圖片

代理層介于應用程序與數據庫間,每次請求都需要做一次轉發,請求會存在額外的時延。

這種方式對于應用非常友好,應用基本零改動,和語言無關,可以通過連接共享減少連接數消耗。

2 Proxy 模式 VS  JDBC 模式

當我們在 Proxy 和 JDBC 兩種模式選擇時,可以參考下表對照:


JDBC

Proxy

數據庫

任意

MySQL/PostgreSQL

連接消耗數


異構語言

僅Java

任意

性能

損耗低

損耗略高

無中心化


靜態入口


ShardingSphere-Proxy 提供靜態入口以及異構語言的支持,獨立于應用程序部署,適用于 OLAP 應用以及對分片數據庫進行管理和運維的場景。

ShardingSphere-JDBC 采用無中心化架構,與應用程序共享資源,適用于 Java 開發的高性能的輕量級 OLTP 應用;

在業務相對復雜的場景里,可以采用混合部署的模式。

圖片圖片

通過混合使用 ShardingSphere-JDBC 和 ShardingSphere-Proxy,并采用同一注冊中心統一配置分片策略,能夠靈活的搭建適用于各種場景的應用系統,使得架構師更加自由地調整適合于當前業務的最佳系統架構。

3 快速啟動

ShardingSphere-Proxy 的啟動方式有三種:二進制包、Docker 和 Helm,可以選擇單機部署或集群部署。

本文將介紹如何通過單機二進制包方式啟動 ShardingSphere-Proxy 版本號:v 5.5.0 。

  • 下載

訪問 下載頁面,獲取 ShardingSphere-Proxy 二進制安裝包, 解壓縮的文件目錄如下:

圖片圖片

  • 將 MySQL 的 JDBC 驅動復制到  ext-lib 目錄

下載驅動 mysql-connector-java-5.1.49.jar 或者 mysql-connector-java-8.0.11.jar 放入 lib 包。

圖片圖片

  • 進入 conf 目錄 , 內容如下圖:

圖片圖片

  • 模式配置 global.yaml

因為默認文件內容被注釋掉了,所以去掉注釋,如下圖:

圖片圖片

  • 驗證啟動 proxy 服務

在 Linux 操作系統上,運行 bin/start.sh;在 Windows 操作系統上,運行 bin/start.bat,以啟動 ShardingSphere-Proxy。

圖片圖片

然后使用 MySQL 終端命令連接 ShardingSphere-Proxy 服務端:

# 將 {xx} 替換為實際參數
mysql -h {ip} -u {username} -p{password} -P 3307
# 示例命令
mysql -h 127.0.0.1 -u root -proot -P 3307

圖片圖片

4 配置訂單分片策略

現在我們需要展示新的訂單庫(8個分片),需要修改分片策略 。

ShardingSphere-Proxy 支持配置多個邏輯數據源,每個以database- 前綴命名的 YAML 配置文件,即為一個邏輯數據源。

圖片圖片

因為我們是自定義分片算法,shardingsphere 內置算法并不滿足,所以我們必須先編寫自定義算法類。

圖片圖片

  • 實現 ShardingAlgorithm 接口定義的算法實現類 HashSlotAlgorithm ;
  • 在項目 resources 目錄下創建 META-INF/services 目錄 ;
  • 在 META-INF/services 目錄下新建文件 org.apache.shardingsphere.sharding.spi.ShardingAlgorithm ;
  • 將實現類的全限定類名寫入至文件 org.apache.shardingsphere.sharding.spi.ShardingAlgorithm ;
  • 將上述 Java 文件打包成 jar 包,  將上述 jar 包拷貝至 ext-lib 目錄;

圖片圖片

  • 配置分片文件 database-myorder.yaml , 該文件用來定義訂單的 4 個分片的路由策略;

圖片圖片

最后,我們啟動 Proxy 服務 , 我們發現通過 MySQL  Client 查詢數據庫時,出現了我們配置的訂單庫 :myorder ,以及訂單庫里的三個邏輯表 。如下圖:

圖片圖片

4 Navicat 連接 shardingsphere proxy

通過 shardingjdbc5-spring 模塊,插入多條記錄到 4 個分片里,可以通過 navicat 連接 proxy 查看效果:

圖片圖片

然后我們模擬在 myorder 邏輯數據庫中新增一條訂單記錄,執行成功并且查詢頁正常的情況下,發現分片 ds0 中存儲了剛插入的那條數據。

圖片圖片


筆者將 proxy 算法模塊也添加到了分庫分表實戰項目 shardingsphere-jdbc-demo 里,有興趣的同學,可以看看這個項目。

圖片圖片

Github 地址:https://github.com/makemyownlife/shardingsphere-jdbc-demo

責任編輯:武曉燕 來源: 勇哥Java實戰
相關推薦

2022-04-07 18:49:56

項目場景數據庫

2023-04-11 08:35:22

RocketMQ云原生

2021-11-29 07:47:56

RocketMQ分布式消息

2023-09-19 09:21:20

2020-09-23 11:23:25

推薦系統廣告

2020-06-28 07:39:44

Kafka分布式消息

2021-09-14 23:05:47

Nginx前端運維

2022-02-28 11:10:42

ZGCG1收集器

2020-11-16 10:50:27

KubernetesIngressLinux

2021-05-07 17:11:19

負載均衡運維服務

2020-09-12 16:45:49

Git

2022-06-13 11:05:35

RocketMQ消費者線程

2022-06-11 18:15:26

KubernetesDockerLinux

2021-01-20 08:34:37

HBaseNoSQL數據庫

2024-07-03 08:28:44

HWKafkaLEO

2021-04-25 10:45:59

Docker架構Job

2020-12-14 10:15:03

負載均衡器Linux服務器

2022-07-11 11:06:11

RocketMQ函數.消費端

2022-01-05 14:30:44

容器Linux網絡

2021-05-18 06:55:07

Java AQS源碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩字幕 | 欧美13videosex性极品 | 伊人色综合久久久天天蜜桃 | 精品亚洲一区二区 | 亚洲精品中文在线观看 | 一区二区三区四区视频 | 国产乱码久久久 | 亚洲成人精品国产 | 久草新在线 | 亚洲一区二区在线播放 | www.久久.com| 欧美日韩在线一区 | 色综合久久久 | 能看的av| 日韩免费一区 | 国产999精品久久久影片官网 | 日韩a视频| 亚洲精品视频一区二区三区 | 久国久产久精永久网页 | 精品久久久久久久人人人人传媒 | 日韩欧美一区二区三区免费观看 | 欧美另类日韩 | 久久久久久看片 | 中文字幕在线视频网站 | 亚洲欧美一区二区三区1000 | 国产免费福利在线 | 国产精品久久久久久久 | 国产精品久久久久久中文字 | 宅女噜噜66国产精品观看免费 | 综合欧美亚洲 | 国产午夜精品一区二区三区 | va在线| 欧美美女一区二区 | 亚洲一区二区三区欧美 | 日本久久久久久久久 | 白浆在线 | 亚洲成人中文字幕 | 91丨国产| 国内自拍视频在线观看 | 国产大片黄色 | 久久不卡区 |