1. 程式人生 > >網際網路不停服務分庫分表

網際網路不停服務分庫分表

很多網際網路公司做到一定階段,都會出現單表資料量到達瓶頸,如何解決?除了新增快取等減輕資料庫壓力的方案,目前來說大部分公司都會走到分庫分表這一步,但網際網路服務一般都是7*24不停服的,那我們的分庫分表也必然也要達成這樣的要求?那我們如何來達成呢?小面是作者的一些思考,如果錯漏,可以指出,大家共同探討。

首先,我們需要考慮哪些方面:

(1)服務:分庫分表後,資料服務必然不同於以往的服務

(2)資料庫:庫表地址變更,單表資料分散到多個表中,甚至多個庫中

(3)上線後如何小範圍內測試,不至於有問題影響所有使用者

(4)回滾方案

根據以下內容,我們可以考慮一下方案:

(1)搭建一套新服務,隔離老服務,如dubbo的rpc,我們可以通過新增分組的方式

(2)資料庫需要新增資料庫,並通過資料同步工具,將正在線上執行的資料實時同步到新資料庫中去,同時在同步的過程中要進行分庫分表的邏輯計算

(3)小範圍內的測試,可以通過nginx指令碼進行ab測,只對內測使用者可見新服務

(4)回滾可以直接將新服務下掉即可

相關推薦

網際網路不停服務分庫

很多網際網路公司做到一定階段,都會出現單表資料量到達瓶頸,如何解決?除了新增快取等減輕資料庫壓力的方案,目前來說大部分公司都會走到分庫分表這一步,但網際網路服務一般都是7*24不停服的,那我們的分庫分表也必然也要達成這樣的要求?那我們如何來達成呢?小面是作者的一些思考,如果錯

服務MySQL分庫資料到MongoDB同步方案[轉]

需求背景 近年來,微服務概念持續火熱,網路上針對微服務和單體架構的討論也是越來越多,面對日益增長的業務需求是,很多公司做技術架構升級時優先選用微服務方式。我所在公司也是選的這個方向來升級技術架構,以支撐更大訪問量和更方便的業務擴充套件。 發現問題 微服務拆

【轉】微服務MySQL分庫資料到MongoDB同步方案

需求背景 近年來,微服務概念持續火熱,網路上針對微服務和單體架構的討論也是越來越多,面對日益增長的業務需求是,很多公司做技術架構升級時優先選用微服務方式。我所在公司也是選的這個方向來升級技術架構,以支撐更大訪問量和更方便的業務擴充套件。 發現問題 微服務拆分主要分兩種

服務分庫、分散式事務管理、APM鏈路跟蹤效能分析演示專案

好多年沒發博,最近有時間整理些東西,分享給大家。 所有內容都在github專案liuzhibin-cn/my-demo中,基於SpringBoot,演示Dubbo微服務 + Mycat, Sharding-Proxy分庫分表 + Seata分散式事務管理 + ZipKin, SkyWalking, PinPo

網際網路大廠有哪些分庫的思路和技巧?

## 寫在前面 冰河曾經經歷過一個完整電商系統使用者從零到上億的研發過程,在業務的不斷髮展與變化過程中,演化出電商系統和基於大資料的商品精準實時推薦平臺,關於MySQL資料庫的架構演進,小夥伴們可以參考《[從零到千萬使用者,我是如何一步步優化MySQL資料庫的?](https://mp.weixin.qq.

MySQL分庫備份腳本

數據庫備份數據庫腳本[[email protected]/* */ script]# cat store_backup.sh #!/bin/shMYUSER=rootMYPASS=qwe123SOCKET=/data/3306/mysql.sockMYLOGIN="mysql -u$MYUSER

數據庫(分庫)中間件對比

系統瓶頸 地址 ring 缺點 無需 網絡io 數據遷移 用戶 osql 轉自:http://www.cnblogs.com/cangqiongbingchen/p/7094822.html 分區:對業務透明,分區只不過把存放數據的文件分成了許多小塊,例如mysql中的一張

架構師速成8.3-可用性之分庫

路由 運行 進行 一鍵 常量 popu 同步 width track 有狀態分布式,涉及的知識就比較多了,只是我們能夠拿幾個現實的樣例由淺入深的來理解。 數據庫的分庫分表 如果你是一個開發負責人,開始使用單機的數據庫,突然一天數據庫硬盤掛掉了。你沒有

16、MySQL數據庫分庫備份腳本

mysql數據庫分庫分表備份腳本MySQL數據庫分庫分表備份腳本===================學員分享分庫分表==========================腳本單雙引號的區別:單引號是強引用,強制輸出是所見即所得。雙引號是解析變量 和 多個字符串、數字等連接一個字符串條件1 || 條件2

MyBatis實現Mysql數據庫分庫操作和總結

用戶表 設計 行數 百萬 出現問題 網絡 自增 .html tro 閱讀目錄 前言 MyBatis實現分表最簡單步驟 分離的方式 分離的策略 分離的問題 分離的原則 實現分離的方式 總結 前言 作為一個數據庫,作為數據庫中的一張表,隨著用戶的增多隨著時間的推移,總有一

記錄一次經歷的數據庫從單庫到分庫的過程

人力 per 靠譜 img center 沒有 tdd 推出 數據 前言 目前所在的的項目組,由於項目正在處於一個業務爆發期,每天數據的增長量已經給我們數據庫乃至系統造成了很多不確定的因數,前期依靠優化業務和SQL等方式暫時還能夠支撐住。但是最近發現某些表數據達到50

MySQL 高可用:mysql+mycat實現數據庫分片(分庫

native 分布 for 成功 img 問題 represent apache 新一代 本文引用於http://blog.csdn.net/kk185800961/article/details/51147029 MySQL 高可用:mysql+mycat實現數據庫分片(

數據庫分庫

事務管理 mys cal 為什麽 分配 slaver 資源問題 時間流 1.7 1. 數據庫分庫分表 1.1. 前言 1.1.1. 名詞解釋 1.2. 數據庫架構演變 1.3. 分庫分表前的問題 1.3.1. 用戶請求量太大 1.3.2. 單庫太大 1.3.3

MySQL分庫方案

人員 有趣的 而不是 其他 代理 延時 分片 -o 得到 1. MySQL分庫分表方案 1.1. 問題: 1.2. 回答: 1.2.1. 最好的切分MySQL的方式就是:除非萬不得已,否則不要去幹它。 1.2.2. 你的SQL語句不再是聲明式的(declarativ

數據庫分庫中間件 Sharding-JDBC 源碼分析 —— SQL 解析(六)之刪除SQL

java 後端 架構 數據庫 中間件關註微信公眾號:【芋道源碼】有福利:RocketMQ / MyCAT / Sharding-JDBC 所有源碼分析文章列表RocketMQ / MyCAT / Sharding-JDBC 中文註釋源碼 GitHub 地址您對於源碼的疑問每條留言都將得到認真回復。甚至不知道如

數據庫分庫中間件 Sharding-JDBC 源碼分析 —— 布式主鍵

java 後端 架構 數據庫 中間件關註**微信公眾號:【芋道源碼】**有福利:RocketMQ / MyCAT / Sharding-JDBC 所有源碼分析文章列表RocketMQ / MyCAT / Sharding-JDBC 中文註釋源碼 GitHub 地址您對於源碼的疑問每條留言都將得到認真回復。甚至

MyCat:對MySQL數據庫進行分庫

文件 res names sel reg l數據庫 esp chan 規則 本篇前提: mycat配置正確,且能正常啟動。1、schema.xml<table>

mycat初次簡單配置分庫

join p12 tor 建立 total rac help show version 先規劃下數據庫的基礎架構,先來個最簡單基礎的。 三臺虛機,各安裝了mysql5.7 用mycat建立邏輯數據庫,建立5個表格,其中一個表格分庫,一個表格做全局表,剩余三個表格每個虛機的

MySQL主從(MySQL proxy Lua讀寫分離設置,一主多從同步配置,分庫方案)

否則 count user username 2個 ons 基礎 zxvf 路徑 Mysql Proxy Lua讀寫分離設置一.讀寫分離說明讀寫分離(Read/Write Splitting),基本的原理是讓主數據庫處理事務性增、改、刪操作(INSERT、UPDATE、DE

Mycat 讀寫分離+分庫

BE IT 讀取 分離 取數據 常見 sele -i roo 上次進過GTID復制的學習記錄,已經搭建好了主從復制的服務器,現在利用現有的主從復制環境,加上正在研究的Mycat,實現了主流分布式數據庫的測試 Mycat就不用多介紹了,可以實現很多分布式數據庫的功能,極大的減