單機是最好的架構之一集中部署
自己原文公眾號: https://mp.weixin.qq.com/s/dwgB4pwqhahTdRan_sKQWQ
我以前一直說單機是最好的架構。這裡的單機是指的一套資料庫比如PG的叢集,oracle的RAC、MySQL的MGR。我反對分庫分表,不管別人怎麼說我始終堅定這麼認為。今天開始一個系列來說明。後續我打算有資料同步篇章、分庫篇章、融合篇章等等等等
多年前在一家公司有這麼一個場景。一個入口網站下屬N多子平臺。希望在任何一家平臺註冊,在所有平臺可以登入。
這裡有幾種方案。
方案1,各家獨立自己會員資料庫,你們想想一下就是N個平臺的資料庫會員要進行註冊同步,登出同步,狀態同步等等。這個最終的問題就是總是有資料不同步,不是這裡少了,就是那裡少了。因為一個要對N-1個傳送和接收。而且由於開發水平有限介面效率又低。其實介面底層幾乎都是SQL,本來是透明的,包裝了一下穿了一個馬甲大家不知道里面是什麼。
方案2,建立一個資料庫大家都到一個地方統一去。當時N個平臺就是一個資料庫上的N個schema。也就是說授權一下select就行。這個方案獲得了所有開發的贊同。理由是所有介面都不用做了,耶。工作量減輕。而且效率比之前的介面高了至少100倍。因為大家都用一個一模一樣的SQL,不會因為不同團隊水平不同效率不同。
最重要的之前很多問題都沒有了,使用者也不抱怨了。以前總說技術為業務服務的。業務哪裡懂技術,用簡單的解決了問題。不必要高大上的,比如微服務或者中臺,有的時候可能還解決不了問題,結果製造了問題。關鍵是中臺一直是一道送命題。
一次是偶然,兩次是必然。又有一次一個領導下屬N個團隊,各個團隊相互協作。因為每個團隊都是其他團隊的上下游。每個團隊都是流程一個環節。說到這裡大家可能猜到了。對,每個環節一個獨立的資料庫。重點還是都是異構資料庫。一個流程所有團隊都要參與才能走得通,每個異構資料庫要走通必然要經過介面啊。一個需求變更,N個團隊一起動。而且每個團隊都說人手不足。
最後不得已所有異構資料庫都變成同構,而且合在一個資料庫例項裡面。又回到上面說的:所有介面都不用做了,耶。工作量減輕。而且效率比之前的介面高了至少100倍。流程也短了,甚至有些表都合了。資料和功能都整個了,然後開發人員也整合。人手也不至於不夠了。一舉多得。看到這裡其實發現了,很多不應該分開的資料庫,是為了分而分,結果最好對自己形成了反噬。
其實一個需求來了,把控需求的人算算開發人員薪酬X幾個月然後這個成本和需求帶來的價值比比,就知道有些需求不上才是最好的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/637517/viewspace-2847143/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 單機是最好的架構之三鎖架構
- 單機是最好的架構之二資料同步架構
- 如何打造“最好的架構”?架構
- 架構設計之一——基礎架構架構
- 計算機網路之一:網路架構計算機網路架構
- mmm架構部署架構
- OneNote是最好的筆記本且沒有之一筆記
- 可能是最好的單例模式單例模式
- Docker 也是本地開發的一神器:部署單機版 Pulsar 和叢集架構 RedisDocker架構Redis
- 關於Ebay的架構之一Asynchrony Everywhere架構
- docker部署LNMP架構DockerLNMP架構
- Ceph 架構以及部署架構
- 【來聊一聊前端架構之一】前端架構認知前端架構
- 跳出“誤區”,學著如何打造“最好的架構”。架構
- 為什麼我認為《變數》是最好的塔防之一變數
- 【經典揭祕】集中式架構怎麼升級為分散式架構?架構分散式
- 更改windows域架構主機是遇到的問題Windows架構
- 單體架構到垂直架構架構
- Canal高可用架構部署架構
- MySQL + Heartbeat + DRBD架構部署MySql架構
- Jenkins部署架構概述Jenkins架構
- 這是我讀過寫得最好的【秒殺系統架構】分析與實戰!架構
- 美麗的架構,是用更少的機制做更多的工作架構
- AOP實現Android集中式登入架構Android架構
- 自動化kolla-ansible部署centos7.9+openstack-train-超融合單機架構CentOSAI架構
- 挑戰傳統集中式雲端計算架構,分散式雲的核心要義是什麼?架構分散式
- 【ACM數論】和式變換技術,也許是最好的講解之一ACM
- LNMP架構介紹與部署LNMP架構
- mysql MHA 高可用架構部署MySql架構
- Docker生態架構及部署Docker架構
- 唯品會架構師是如何實現架構重構的架構
- 單體架構&微服務架構&中臺服務架構架構微服務
- windows平臺部署arm架構的虛擬機器(實測截圖)Windows架構虛擬機
- 在AWS上的架構部署與設計架構
- MySQL高可用架構之Keepalived+主從架構部署MySql架構
- 單機秒殺系統的架構設計與實現架構
- SOA架構和微服務架構的區別是什麼?架構微服務
- 可能是迄今為止最好用的WPF載入動畫功能(沒有之一)動畫