架構師應該在團隊中發揮怎樣的作用?

084e5537ebc0f59ae9e77b3d25f07bd6.png

架構師分為5種:

1.企業架構師EA(Enterprise Architect)? ?EA的職責是決定整個公司的技術路線和技術發展方向。

2.基礎結構架構師IA(Infrastructure Architect)? IA的工作就是提煉和優化技術方面積累和沉淀形成的基礎性的、公共的、可復用的框架和組件,這些都是一個技術型公司傳承下來的最寶貴的財富之一;

3.特定技術架構 TSA (Technology-Specific Architect)? ?主要從事類似安全架構、存儲架構等專項技術的規劃和設計工作;

4.解決方案架構師SA (Solution Architect)。專于解決方案的規劃和設計

5.業務架構師BA (Business Architect)。在業務團隊內部,和leader打配合。

和業務團隊聯系最為緊密的業務架構師,在團隊中,leader和架構師之間一般是劉備和諸葛亮之間的關系。如果leader本身技術能力特別強,那可能會演變成曹操和荀彧。荀彧在戰略方面為曹操規劃制定了統一北方的藍圖和軍事路線,多次修正曹操的戰略方針。

不管是諸葛亮、荀彧,或者其他的架構師例如:張良、羊皮大夫百里奚,在團隊中有兩個重要作用:第一個是制定規范、規劃和方案,第二個是在團隊中有足夠的影響力,在關鍵時刻發揮作用。

那要問影響力是怎么來的,那就是個人技術能力的一個認可度了。前段時間我在做拆庫分表的技術方案評審時,聽到人家說就是現在業務不太忙,想把事情做掉。具體為什么要一拆十還是拍腦袋的,未來誰也說不好。就這件事,我談談自己的觀點。仁者見仁,沒有誰對誰錯,只是談談自己的思考。

為什么要分表?

之所以想著去做這件事,我理解是為了未來解決擴展性的問題。是需要依托于架構整體規劃的。架構整體規劃重要的環節是容量評估。容量評估除了在大的技術方案上要考慮之外,一般還需要架構師定期去做。比如1個季度、半年、1年做一次容量評估。

未來的不確定因素太多,容量怎樣去評估呢?

我們的目標是什么。如果目標是同行業前5。可以從他們公開的財務報表等數據調研他們的數據量級。比如行業第五,日單量是500萬。拆10張表。一個數據庫在量級達到千萬級別,性能開始下降。也就是說1張表大概可以存2天的數據,10張表可以存20天的數據。數據歷史記錄如果可以允許查半年的。那就不夠了。分成100張表,過了半年可以進行歸檔,就可以持續支撐日單量500萬的交易。

實際上一般很少有人要做分庫分表了,一次這種大動作還只提高10倍的容量。因為就單庫來說,分成1百張表、1千張表,磁盤容量都不是瓶頸。瓶頸在支撐的TPS上。就一個高性能物理機的數據庫來說,大概可以支撐5000TPS量級。在這種情況下,表分的細一些,可以提高單表的性能。況且,這種邏輯分表并不需要額外的資源支持,不會增加成本。

容量評估時還需要考慮哪些因素?

容量評估時還需要考慮其他的設計:讀寫分離、數據歸檔。

讀寫分離,如果讀寫比例是1比1,分離后容量會增加1倍。但分離和不分離的區別不是簡單改代碼的問題,而是分離后要考慮讀的延遲。比如mysql主從延遲一般在1s。實時業務的場景其實不能夠允許這么大的延遲。但有些場景,比如歷史查詢、列表查詢是可以的。如果讀寫分離是需要想清楚哪些場景要拆分到主庫,哪些是拆分到從庫的。會不會涉及事務問題。

數據歸檔,因為已經需要使用像sharding-jdbc這種中間件了。這種中間件不僅可以支持哈希散列算法,還可以按照時間散列的。所以可以直接在分表設計時就可以設計為_上半年下半年標識_哈希,這樣只要有定時腳本數據表直接提前建好,自動實現數據歸檔,無需額外服務處理。比如現在已經是下半年。現在上半年只有讀的流量,沒有寫的流量了。下半年的讀寫都很多。所以上半年數據屬于冷數據,下半年數據屬于熱數據,實現了冷熱分離。

其他還有什么考慮點?

數據庫分庫分表是個大動作,一般要提前很久規劃,過程因為涉及數據一致性校驗等環節,相對持續時間也很長。而這個過程是對業務進行梳理的絕佳機會。比如可以趁此機會將原本的數據庫事務改成分布式事務,提升架構的性能和擴展性。

而架構師要自己或者帶領團隊成員做好各個方面的考慮。考慮問題要比leader全面,并具有前瞻性視野。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/40652.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/40652.shtml
英文地址,請注明出處:http://en.pswp.cn/web/40652.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Qt 基礎組件速學 鼠標和鍵盤事件

學習目標: 鼠標事件和鍵盤事件應用 前置環境 運行環境:qt creator 4.12 學習內容和效果演示: 1.鼠標事件 根據鼠標的坐標位置,做出對應的事件。 2.鍵盤事件 根據鍵盤的輸入做出對應操作 詳細主要代碼 1.鼠標事件 #include "main…

一文讀懂輕量日志收集系統Loki工作原理

Loki 是由 Grafana Labs 開發的日志聚合系統,設計目標是提供一種高效、低成本的日志收集和查詢解決方案。與傳統的日志系統(如 ELK Stack)不同,Loki 不會對日志內容進行索引,而是僅對日志的元數據進行索引,…

美國大帶寬服務器租用優勢和注意事項

美國大帶寬服務器租用對于需要處理大量數據和提供高速網絡服務的企業至關重要。下面將詳細討論美國大帶寬服務器租用的優勢、適用場景及注意事項,rak部落小編為您整理發布美國大帶寬服務器租用的優勢和注意事項。 優勢 1. 高速數據傳輸: - 大帶寬服務器提…

FTP、http 、tcp

HTTP VS FTP HTTP :HyperText Transfer Protocol 超文本傳輸協議,是基于TCP協議 FTP: File Transfer Protocol 文件傳輸協議, 基于TCP協議, 基于UDP協議的FTP 叫做 TFTP HTTP 協議 通過一個SOCKET連接傳輸依次會話數…

FIND_IN_SET使用案例--[sql語句根據多ids篩選出對應數據]

一 FIND_IN_SET select id,system_ids from intellect_client_info where FIND_IN_SET(5, system_ids) > 0;

Spring Boot 中的監視器是什么?有什么作用?

前言: 監聽器相信熟悉 Spring、Spring Boot 的都知道,但是監視器又是什么?估計很多人一臉懵的狀態,本篇分享一下 Spring Boot 的監視器。 Spring Boot 系列文章傳送門 Spring Boot 啟動流程源碼分析(2) …

Apache DolphinScheduler 與 AWS 的 EMR/Redshift 集成實踐分享

引言 這篇文章將給大家講解關于DolphinScheduler與AWS的EMR和Redshift的集成實踐,通過本文希望大家能更深入地了解AWS智能湖倉架構,以及DolphinScheduler在實際應用中的重要性。 AWS智能湖倉架構 首先,我們來看一下AWS經典的智能湖倉架構圖…

【第20章】MyBatis-Plus邏輯刪除支持

文章目錄 前言一、邏輯刪除的工作原理二、支持的數據類型三、使用方法1.配置全局邏輯刪除屬性2.在實體類中使用 TableLogic 注解 四、常見問題解答1. 如何處理插入操作?2. 刪除接口自動填充功能失效怎么辦? 五、實戰1. 全局配置2. 添加TableLogic3. 自動…

高考選專業,興趣與就業前景該如何平衡?

從高考結束的那一刻開始,有些家長和學生就已經變得焦慮了,因為他們不知道成績出來的時候學生應該如何填報志愿,也不知道選擇什么樣的專業,畢竟大學里面的專業豐富多彩,如何選擇確實是一門學問,而對于學生們…

Oracle的RECYCLEBIN回收站:輕松恢復誤刪對象

目錄 Oracle的RECYCLEBIN回收站:輕松恢復誤刪對象一、概念二、工作原理三、使用方法1 查看回收站中的對象2 恢復回收站中的對象2.1 恢復表(TABLE)2.2 恢復索引(INDEX)2.3 恢復視圖(VIEW)2.4 恢復…

樂清網站建設規劃書

樂清是位于浙江省溫州市的一個縣級市,擁有悠久的歷史和豐富的文化底蘊。隨著互聯網的快速發展,網站建設成為推動樂清經濟和文化發展的重要手段。因此,我們認為有必要制定一個全面的樂清網站建設規劃書,以促進樂清的經濟繁榮和文化…

東芝 TB5128FTG 強大性能的步進電機驅動器

TB5128FTG它以高精度和高效能為設計理念,采用 PWM 斬波方法,并內置時鐘解碼器。通過先進的 BiCD 工藝制造,這款驅動器提供高達 50V 和 5.0A 的輸出額定值,成為廣泛應用場景中的強勁解決方案。 主要特性 TB5128FTG 擁有眾多確保高…

SAP PS學習筆記01 - PS概述,創建Project和WBS

本章開始學習PS(Project System)。 1,PS的概述 PS(Project System)是SAP企業資源規劃系統中的一個關鍵模塊,主要用于項目管理。 它提供了一個全面的框架來規劃、控制和執行項目,涵蓋了從項目啟…

【Express】自定義錯誤碼和通用返回對象

自定義錯誤碼: // 自定義錯誤 const {formatResponse} require("./tool");class ServiceError extends Error {/**** param message 自定義錯誤信息* param code 自定義錯誤碼*/constructor(message, code) {super(message);this.code code;}/*** 將錯…

ZeroMQ最全面試題解讀(3萬字長文)

目錄 解釋ZeroMQ是什么,它的主要用途是什么? ZeroMQ支持哪些通信模式? 描述一下ZeroMQ中的“消息”和“消息幀” 如何在C++中初始化一個ZeroMQ上下文? 在ZeroMQ中,如何創建一個套接字并將其綁定到特定端口? 解釋什么是“管道模式”(Pipe Pattern) 說明如何使用Z…

Spring的三種注入方式的優缺點分析

在 Spring 中,提供了三種依賴注入(也被稱之為 "對象注入","屬性裝配"等)的方式,這篇博客我們來分析一下這三種方式各有哪些優缺點。 一、屬性注入 優點 簡潔,使用方便。 缺點 ? 只…

競賽選題 卷積神經網絡手寫字符識別 - 深度學習

文章目錄 0 前言1 簡介2 LeNet-5 模型的介紹2.1 結構解析2.2 C1層2.3 S2層S2層和C3層連接 2.4 F6與C5層 3 寫數字識別算法模型的構建3.1 輸入層設計3.2 激活函數的選取3.3 卷積層設計3.4 降采樣層3.5 輸出層設計 4 網絡模型的總體結構5 部分實現代碼6 在線手寫識別7 最后 0 前言…

C++內存的一些知識點

一、內存分區 在C中,內存主要分為以下幾個區域: 代碼區:存放函數體的二進制代碼。 全局/靜態存儲區:存放全局變量和靜態變量,這些變量在程序的整個運行期間都存在。常量存儲區:存放常量,這些值…

學懂C#編程:實用方法——string字符串指定連接符拼接之 string.Join 的詳細用法

在C#中,string.Join 方法用于將一個字符串數組或集合中的元素連接成一個單一的字符串,并在每個元素之間插入指定的分隔符。這個方法非常有用,特別是在需要將多個字符串合并成一個字符串時。以下是 string.Join 方法的詳細用法: 方…

WPF UI 界面布局 魔術棒 文字筆記識別 技能提升 布局功能擴展與自定義 繼承Panel的對象,測量與排列 系列七

應用開發第一步 功能分類:頁面上的功能區域劃分。。。。需求分析 業務邏輯 數據流 功能模塊 UI/UX 編碼 測試 發布 功能開發與布局 不用顯式的方式設定元素的尺寸 不使用屏幕坐標來指定位置 Grid 功能最強大,布局最靈活的容器…