小團隊構建大網站:中小研發團隊架構實踐

小團隊構建大網站:中小研發團隊架構實踐

網際網路一線架構實戰經驗分享,提供實戰Demo模版

《小團隊構建大網站:中小研發團隊架構實踐》結合作者十幾年的工作經驗,總結了一套系統又詳細、且可落地的中小研發團隊架構實踐指導方案。本書分五個部分,開篇是本書的導讀,架構篇介紹總體架構設計、套用架構設計、統一公司套用分層,以及性能調優WinDbg,框架篇是中間件或工具的介紹和使用,公共套用篇關注技術與業務的結合,案例篇主要提供了技改案例、技術與業務的匹配與融合等。

基本介紹

  • 書名:小團隊構建大網站:中小研發團隊架構實踐
  • 作者:張輝清 等
  • ISBN:978-7-121-35215-7
  • 頁數:220
  • 定價:69
  • 出版社:電子工業出版社
  • 出版時間:2019-1
  • 開本:16
內容提要,目錄,媒體評論,推薦序一,推薦序二,

內容提要

《小團隊構建大網站:中小研發團隊架構實踐》結合作者近幾年的工作經驗,總結了一套可直接落地、基於開源、成本低、可快速搭建的中小研發團隊架構實踐方法。《小團隊構建大網站:中小研發團隊架構實踐》共5篇22章,開篇是本書的導讀;架構篇是設計思想的提升,包括企業總體架構、套用架構設計、統一套用分層等;框架篇主講中間件和工具的使用,包括訊息佇列、快取、Job、集中式日誌、套用監控和微服務等;公共套用篇是技術與業務的結合,包括單點登錄和企業支付網關;進階篇是從架構到管理,包括技改案例、技術與業務的匹配與融合等。從架構、框架、公共套用,到案例實戰和技術管理,《小團隊構建大網站:中小研發團隊架構實踐》將大公司的工程理念壓縮套用到中小研發團隊,使小團隊也能構建大網站。
《小團隊構建大網站:中小研發團隊架構實踐》不僅適用於高級程式設計師、架構師、CTO,也適用於IT項目經理、技術經理,以及對架構技術感興趣的中高級軟體開發從業者。

目錄

第1篇 開篇
1 可參考的才是有價值的(含案例和代碼)
1.1 框架篇—工欲善其事,必先利其器
1.2 架構篇—思想提升
1.3 公共套用篇—業務與技術的結合
1.4 進階篇—從架構到管理
1.5 案例參考和Demo下載
第2篇 架構篇
2 企業總體架構
2.1 企業商務模型
2.2 架構現狀
2.3 領域模型
2.4 架構規劃
2.5 架構實施
2.6 案例參考
3 套用架構設計
3.1 初識架構設計
3.2 套用架構設計案例
3.3 更多知識探討
3.4 網際網路公司的架構設計要怎么落地
3.5 你給技術打個分
3.6 案例參考
4 統一套用分層
4.1 為什麼要統一套用分層
4.2 統一套用邏輯架構
4.3 分層規範實踐
4.4 互動問答
4.5 Demo下載
5 生產環境診斷工具WinDbg
5.1 診斷工具簡介
5.2 獲取異常進程的Dump檔案
5.3 WinDbg的使用方法
5.4 一個真實案例
5.5 Demo下載
第3篇 框架篇
6 RabbitMQ快速入門及套用
6.1 為什麼要用訊息佇列RabbitMQ
6.2 RabbitMQ簡介
6.3 RabbitMQ的工作原理
6.4 RabbitMQ的基本用法
6.5 Demo下載
7 Redis快速入門及套用
7.1 Redis簡介
7.2 Redis的數據結構
7.3 Redis的重要特性
7.4 使用方法
7.5 Redis Key命名規範與常見問題
7.6 Demo下載
8 任務調度Job
8.1 Job簡介
8.2 WinJob
8.3 HttpJob
8.4 Cron表達式
8.5 Demo下載
9 套用監控系統Metrics
9.1 Metrics簡介
9.2 埋點Metrics.NET的方法
9.3 Grafana配置
9.3.1 設定儀錶盤(Dashboard)
9.3.2 設定面板(Panel)
9.3.3 設定模板Templating
9.3.4 設定Time Range
9.3.5 告警設定
9.4 其他說明
9.5 Metrics的使用價值
9.6 Demo下載
10 集中式日誌ELK
10.1 集中式日誌
10.2 配置方法
10.3 使用方法
10.4 Demo下載
11 微服務架構MSA
11.1 MSA簡介
11.2 MSA框架的使用
11.3 微服務治理
11.4 微服務網關API Gateway
11.5 Demo下載
12 搜尋服務Solr
12.1 Solr簡介
12.2 Solr的工作原理
12.3 Solr的特性
12.4 Demo下載
13 分散式協調器ZooKeeper
13.1 ZooKeeper是什麼
13.2 ZooKeeper的工作原理簡介
13.3 ZooKeeper的典型套用場景
13.4 Demo下載
14 小工具合集
14.1 ORM工具
14.2 對象映射工具
14.3 IoC工具
14.4 DLL包管理工具
14.5 Demo下載
15 一鍵發布和測試之持續集成工具Jenkins
15.1 Jenkins簡介
15.2 Jenkins外掛程式與相關工具
15.3 Jenkins關鍵配置
15.4 Jenkins的使用價值
第4篇 公共套用篇
16 單點登錄
16.1 單點登錄簡介
16.2 SSO技術實現
16.3 JWT規範
17 企業支付網關
17.1 企業支付網關介紹
17.2 統一支付服務
17.3 統一支付通知
17.4 Demo下載
第5篇 進階篇
18 技改之路:從單體套用到微服務
18.1 系統背景
18.2 前期工作
18.3 技改實施
18.4 總結
18.5 互動問答
19 機票垂直搜尋引擎之性能最佳化
19.1 行業背景與垂直搜尋
19.2 主要問題與解決方案
19.3 靜態數據與任務打底
19.4 快取策略與數據一致
19.5 實時查詢與三段逾時
19.6 政策匹配與算法最佳化
19.7 小結
20 上雲紀要
20.1 為什麼要上雲
20.2 內部虛擬化和外部雲化
20.3 雲選型
20.4 上雲八條
20.5 成功上雲
20.6 上雲總結
21 技術與業務的匹配與融合
21.1 技術人員與業務人員的抱怨
21.2 問題出在哪裡
21.3 理解源於彼此的了解
21.4 如何去匹配與融合
21.5 什麼在驅動公司的發展
22 研發團隊文化是怎么“長”出來的
22.1 神秘的文化
22.2 遇到的問題
22.3 解決之道
22.4 總結與提升
22.5 “長”出來的團隊文化
後記
架構師進階之路
談談網際網路公司的技術架構和管理
短評

媒體評論

我和輝清之前在攜程有過一段時間的交集,當時他是商旅研發部的架構師,而我是框架研發部的架構師。輝清的職業經歷比較豐富,既做過開發和架構,又做過技術總監和CTO。豐富的職業經歷既鍛鍊了他各方面的能力,又拓展了他的視野。
在我眼中,輝清一直活躍在一線網際網路公司的前沿,是實戰型、偏業務型的架構師。輝清樂於分享,也具有良好的梳理總結能力,能夠將他對技術、架構和管理的思考定期梳理總結出來,分享在InfoQ和聊聊架構等技術媒體上。
本書內容豐富,涵蓋業務分析、領域建模、分散式系統架構、中間件和工具、微服務架構、技術管理及文化建設等主題。本書是輝清近幾年在一線網際網路公司生產實踐的基礎上,加上自己的系統化和體系化思考之後,沉澱下來的乾貨。本書對於一線架構師深入理解網際網路分散式系統的架構設計並指導生產實踐具有非常大的參考價值。
—微服務技術專家 拍拍貸基礎框架研發總監 楊波
架構的落地、固化和提升,需要藉助組織架構與技術架構的對齊來完成。從生產力到生產關係,從架構師到技術管理,我們的關注點也會發生變化—從框架、架構、公共服務和性能調優,到商業價值、技術的創新、技術與業務的融合,等等。這是一個架構師的進階之路,也是輝清的心路歷程,值得各位讀者參考!
—餓了么CTO 張雪峰
在我接觸過的眾多技術人員里,能長期堅持總結的人並不多,能將總結與實踐結合,並系統性地推動公司技術進步的人更少,輝清這方面的能力令我印象深刻。正因如此,他成長的速度非常快,幾年之內,從一個工程師成功轉型為架構師,並勝任數百人規模的研發組織的CTO。這本書是他長期實踐的結晶,不難看出,他已經在企業架構到套用架構改造,再到各種中間件、框架、工具的運用,甚至公共業務設計,以及技術如何推動業務進步等方面,形成了自己一整套的方法論。對於大規模的研發組織,由於分工明細,並不缺少各個領域的專家,但著眼於全局的架構師並不多見。本書的完整性和體系性,非常適合中小型的研發組織借鑑,尤其是正在進行架構轉型的傳統企業的研發團隊,一定能通過本書受益良多。
—平安好醫生研發總監 劉剡
這本書從頭到尾,從我這個老工程師的角度來說就是兩個字—乾貨,非常適合處在成長期且比較迷茫的技術工程師。這本書的價值在於它透過一個老技術人的多年實操和沉澱,讓你一下子就切入一個思路明晰的方法論。本書最後幾章可是我老同事的進一步進階了,“懂了”距離“消化”,還要通過實際操作的歷練。俗話說得好:師父領進門,修行靠個人。希望大家能早日成為像作者一樣的技術牛人!
—造藝科技CEO 梁曉靖
代碼混亂、結構不清晰、開發效率低、發布周期長、發布出錯率高、排查問題困難等困擾著很多網際網路研發團隊,也曾是我和作者一起需要面對的問題。本書第18章技改之路,我是親歷者和見證者,整個過程我與作者一起拼搏奮鬥,至今難忘,受益匪淺!
—洋碼頭資深架構師 戈建華
本書沒有晦澀難懂的技術分析,而是通過一個個真實案例帶你參與一次完整的技術改造,從研發團隊的技術痛點著手,幫助中小型研發團隊從無到有快速建立一套主流的技術架構。
—攜程旅行網 仝杭周
關於架構設計,百人有百人的想法,但我們還是希望能借鑑前人走過的路,從這么多人的想法中找到一些共性來更快速地確定自己的想法是否合理。這本書既有架構方法論,又有中間件研發和使用的實戰經驗。對於已經或即將在中小企業從事架構師職位的同行們,本書是一本非常實用的參考書籍,值得從頭到尾認真閱讀,並且相應地去實踐,然後運用到實際的項目中。相信用不了多久,你也可以成為一名合格的架構師。另外,我有幸參與了本書第5章生產環境診斷工具WinDdg的早期研究,那是一段值得懷念的快速成長時光。最後,感謝張輝清先生能把這本書給寫出來,非常不容易!
—同程藝龍 有票兒技術負責人 許珍珠
《小團隊構建大網站》通篇以簡單的實用主義“生吞”複雜業務場景,架構師肚子裡的那點東西全被作者掏出。如果讀者跟我一樣喜歡在周末花上半天時間待在書店,揮一揮衣袖不帶走一本書,那么你讀完“開篇”之後悄悄放回書架就可以了。如果你剛入職一家不錯的網際網路企業,千萬不要放過“架構篇”,尤其是“企業總體架構”一章,這會幫助你在一群絕頂聰明的“偏執狂”中找到自己的格調和定位。若能活用“框架篇”中所列舉的開源組件,則大體上能夠搭建一個不錯的網站。但那遠遠不夠,你至少要讀懂這些組件的接口脈絡和背後的設計思想,直至有一天你能夠帶領著三五個人將這些組件全部替換。“公共套用篇”中所列舉的真實的案例,讀者不必盤問出處,在網際網路行業有些規則需要遵守和維護。“進階篇”回歸業務問題的本質,從代碼的解耦到業務的解耦,再到團隊建設的人文關懷,正是作者心路歷程的真實寫照。
—慧睿思通 資深架構師 張向明
本書面向有一定基礎經驗的開發者,介紹了構建大型網站涉及的方方面面。從頂層架構設計到單個項目架構設計再到套用分層規範,從中間件的套用到線上故障診斷,從技術改造到團隊文化建設,可謂字字珠璣,娓娓道來,足見作者實戰經驗之豐富。書中某些章節偏向.NET平台,但萬變不離其宗,其他平台的開發者仍然能從中獲取養分、吸取經驗,是一本值得一讀的好書。
—阿里巴巴 張智
細細品完《小團隊構建大網站》,作者結合了架構、業務和管理等眾多維度,提供了一系列解決方案,自下而上,一步步“帶領”中小團隊快速構建高性能、高可用、可擴展的大網站。做事嚴謹、思路清晰、架構經驗豐富是輝清的標籤,這本書同樣如此。作者根據自己十多年的架構和管理經驗,真真切切地把握住了中小團隊的命脈和痛點,非常優秀,相信讀者看完這本書,一定會受益匪淺!
—同程藝龍 交通架構組負責人 曹愛虎
4年前,在攜程商旅事業部,業務系統需要進行架構重構,但留給技術部門的時間非常緊張(2個月內必須完成),做技術的人都知道架構重構是一件非常複雜的事情,而且還要考慮兼容老系統。2個月後,突然傳來捷報說重構成功了,並且得到了業務部門的高度好評。系統不但穩定,而且可以支持10倍的業務增長,帶領這支攻堅團隊的架構師正是張輝清。我本以為這次重構是一個“卡位戰”,以欠技術債的方式僅實現功能,但事實相反,此項目不僅具備高可用、高性能、高並發、高擴展等特點,而且有機地將技術和業務結合在一起,實現了技術驅動業務。本書是輝清近幾年的經驗總結,揭秘如何為中小公司賦予大型互聯技術的能力。
—攜程旅行網 數據智慧型部技術專家 陳昌
在這個技術浮躁的時代,眾多的技術人員沉迷於一些奇巧淫技,忽略了架構的本質是合理地組織技術和人,更好地服務於業務。本書從實戰出發,通過一個個實例闡明架構中的種種方法論如何落地,如何在架構落地的過程中保持技術的前瞻性及柔性,如何有效地避免過度設計。作者以CTO的視角,從業務和技術痛點入手,講述了帶領技術團隊快速搭建小而美的整體架構的過程。本書背後的分析思想和設計思路,非常值得快速發展的中小團隊借鑑。
—百度資深架構師 杜亞明
作為一個技術人,架構師是每個人追尋的目標,也是個人價值和成就的一個重要標誌。那架構師是怎樣煉成的呢?或者說,怎樣才算是一個優秀的架構師呢?我們需要幾年甚至十幾年的一線技術工作經驗,我們需要正好遇到公司重大技術重構的機會,我們需要正好遇到公司重大業務系統的升級計畫,我們需要正好遇到……這么多苛刻條件的限制,造成架構師修煉的不易。那我們是否能找一本武功秘籍,讓那些在技術路上苦苦追尋的技術人員少走彎路,甚至速成呢?從這個角度上看,《小團隊構建大網站》無疑是一個非常不錯的選擇。它是輝清歷年經驗的總結,由淺入深,從思想到框架再到實施和管理,實用、實在,讓我們能從簡單的學習模仿,到融會貫通,然後進階到自成體系。願這些來自輝清的乾貨,可以為讀者指出一條不同凡響的架構師進階之路。
—驢媽媽架構PU總經理 高亞峰
架構的大道理聽了很多,但依然不會操作。能不能將這些抽象的道理具體化、技術服務產品化,然後像使用商業產品一樣使用它們呢?從“做”中學,先做再學,照著案例學,讓各位同學快速入門。你可以不懂電視機的工作原理,但你依然會使用電視機。一本好書可以讓人少走3~5年彎路,一本好書可以奠定一個人的大局觀。站在前人的肩膀上,你可以看得更高、望得更遠!
—申通快遞總工程師 吉日嘎拉
隨著網際網路行業開源潮流的興起,越來越多的公司通過技術大會、技術圖書出版等方式分享架構思路和研發經驗,幾萬人的超大型研發團隊的技術架構思路,對於很多200人以下研發團隊的公司來說值得借鑑,但由於研發資源與團隊規模的差異,可能不容易直接套用。本書作者站在中型研發團隊的視角,以CTO的身份親歷架構實踐。這些架構思路與成熟開源組件可直接套用,相信能帶來不錯的參考價值。
—dnc開源社區CEO/CTO聯盟發起人 Mike
《小團隊構建大網站》對於很多公司來說都值得參考和借鑑,大公司也有很多小團隊。隨著.NET Core開源新時代的到來,越來越多的中小研發團隊會使用C#來構建業務系統。本書介紹了一套基於C#、基於開源、可直接落地、可快速搭建的框架及架構方案,如果說大公司方案是定製的“勞斯萊斯”,那么這個方案就是經濟實用的“大眾”!
—微軟MVP,騰訊科技 張善友
張輝清同學曾於某技術媒體發表過不少文章,心有戚戚焉則於江湖中得以認識,整體印象是做事行文都是絕對的實戰派,偶爾也有俏皮幽默的案例出自其手。本書涵蓋了架構方法體系、常用“防身”工具、項目案例、管理tips等。江湖上集群TPS極高的場景其實有限,按照二八原則,80%甚至99%的場景都是中小型規模的套用。張兄視野橫跨業務、技術、架構和組織,既有原則提煉,又有案例敘述,無空洞之感,無堆砌之累,是難得的於平實中見真誠的作品,尤其是把不少案例都開源出來了,實證精神可見一斑。祝各位讀者有愉快的閱讀旅程!
—螞蟻金服高級技術專家 右軍
本書內容相當豐富,不僅對想成為架構師的程式設計師有專業指導,也對已經是架構師並想轉到技術管理崗的讀者有參考意義。輝清同學對待技術踏實而低調,熱愛經驗總結與分享,是我們技術人學習榜樣。
—《架構探險》作者 黃勇
網際網路技術經過幾十年的發展,已經從“鐵器時代”進入“機器時代”。得益於開源運動的蓬勃發展,以及技術的日益開放,原本只有大公司才能擁有的技術和系統已經是“舊時王謝堂前燕,飛入尋常百姓家”了,中小團隊甚至初創公司都能夠基於這些技術和系統快速完成系統的開發,使團隊能夠更加聚焦於業務的發展。
但這並不意味著簡單採用“拿來主義”就萬事大吉,中小團隊在構建系統架構的時候往往面臨幾個核心問題:首先,類似的技術和方案太多,具體該用哪個並不是一目了然的;其次,即使選定了具體技術或方案,如果沒有經驗積累,這些技術和方案的最佳實踐和注意事項(俗稱“坑”)是很難預先知道的;最後,構建一個完整的大網站需要的技術棧很多,如果沒有系統的指導,則很可能是“摸著石頭過河”,進入“踩坑—填坑”的循環。
本書是輝清多年技術、經驗、思考和感悟的一個集大成的總結,涵蓋了架構設計技術棧的方方面面,很好地解答了上述三個問題,具有非常強的指導意義,形象一點來說就是:照著做,你也能設計和BAT一樣好的架構!
—《從零開始學架構》作者,資深技術專家 李運華
前言
需求:沒有人會讀前言?!
解決方案:把前言內容寫好,並作為開篇第1章。

推薦序一

架構師進階之路
在網際網路發展的近二十年中,網際網路技術這項偉大的發明從構想開始迅速發展,不停地將現實世界納入它的勢力範圍。在2018年這個時間節點上,可以說網際網路已經滲入社會生活的方方面面,對人類的活動產生了重大的影響。從社會經濟發展的角度看,網際網路重新定義了商業的運作方式,超高速的信息流轉速度帶動了商品和資金的高速流動,使市場經濟的整體效率變得非常高,商務活動的網際網路化為社會和企業創造了巨大的價值。
作為網際網路行業的技術從業人員,在這個過程中“痛並快樂著”。技術在企業的競爭力中變得越來越重要,企業對技術研發的投入大幅提升,技術人員也越來越受到重視。同時,電商網站成為企業銷售商品和提供服務的主體之一,甚至是唯一主體,網站構建的好壞事關企業生死,技術人員面臨的挑戰也變得前所未有的困難和複雜。
舉例來說,複雜的電商業務帶來了軟體複雜性的挑戰,快速疊代的業務流程帶來了可擴展性的挑戰,龐大的用戶數量帶來了並發性的挑戰,7×24小時的運營要求帶來了可用性和可靠性的挑戰,日益猖獗的網際網路黑客攻擊帶來了安全性的挑戰,等等。技術人員在構建網站的同時需要考慮以上所有的問題,並給出可靠的解決方案。這就好像在百米高空上走鋼絲,每一步都需要小心翼翼,一旦踏錯一步就可能產生不可挽回的錯誤。在這樣苛刻的要求下,軟體構建過程中的分析和設計,從形式主義逐漸變得具有現實意義。一些較大的IT團隊因為分工更細緻,甚至出現了專職從事軟體分析和設計的崗位,也就是架構師。同時,軟體構建中架構先行的理念已經深入人心。
分享我本人的一些經驗。我在從開發工作向架構工作轉型的過程中,曾經遇到相當多的困惑,從技術到管理到業務,不一而足。原有的知識儲備不足以支撐架構工作,即使補充了,大量的知識點如何梳理和組織、知識體系如何搭建也成為難題。由於軟體架構設計的經驗不足,無法判斷每一個決策帶來的風險,迅速地補齊架構經驗的短板是非常困難的。在架構設計的每個細節中,如何平衡眾多涉眾的利益?這些涉眾包括用戶、業務方、兄弟團隊等。在系統實施過程中,要怎樣才能保證技術方案能夠在開發、測試、運維等眾多實施方之間達成一致,保證實施過程中不出現偏差?非常幸運,在這期間我和作者曾經有過一段共事的經歷,我們有過很多關於技術、架構、業務和管理方面的討論,讓我對以上的問題有了更多的思考,受益匪淺。
本書忠實地體現了可以落地的架構理念,為一線的軟體設計人員和技術管理人員分享了中小企業架構落地的方法論,同時結合了真實的項目經歷,給出了可以採用的技術和管理手段。不僅如此,本書對於企業架構落地時常見的困難點,也就是組織架構的變更和技術團隊的工程師文化建設有非常具體的建議,能夠在技術團隊建設上啟發管理者。總而言之,所有從事網際網路軟體構建工作的讀者,一定能從書中借鑑來自網站架構一線人員的經驗和思想,本書是不可多得的實用讀物。
—中駿置業 資深架構師 鄧超

推薦序二

談談網際網路公司的技術架構和管理
網際網路公司的技術架構涉及商業模式、目標用戶定位和產品運營等,而且和公司所處的發展階段息息相關。公司所處的具體發展階段不同,相應的工作重心也不同。在創業初期,講究發展用戶慢、用錢慢、產品疊代速度快。中小網際網路公司處於初創和發展期,正是需要快速建立技術基礎、快速進行產品疊代的階段。這個階段,有張輝清這樣的過來人手把手教你建立框架、架構和技術管理體系,無疑可以大大加速技術的成熟,為業務發展提供堅實的技術保障。
網際網路公司的技術架構體系可以說已逐步成熟,規律性越來越強,同時不斷推陳出新,從物理硬體到前端展現,精彩紛呈、博大精深。網際網路公司的技術架構有它的目標、指導思想、規範和體系:
技術架構的目標是更好地實現業務發展的短期和長期目標,實現利益相關者的利益平衡。
技術架構的指導思想是立足產業、公司、項目的業務和系統的實際情況,本著“業務架構決定技術架構,核心業務流程決定主要技術架構”的原則,根據分散式計算的基本原理和實踐,選擇合適的技術方案來實現目標,具體體現為套用架構規劃、UML、四加一視圖、概念模型架起需求和實現的橋樑、拆分和快取、設計模式和設計原則等,也就是所謂Domain First,Persistence Second,Application Third。總之,這是充分調研、整體架構、增量疊代的過程。
建立技術架構的規範是為了統一公司的技術體系,總結規律、立規矩,便於技術的治理,防止各行其是和重複犯錯導致技術成本的飆升,包括需求規範、架構過程和評審規範、開發規範、測試規範、部署架構規範、持續集成與發布上線規範、監控告警規範、事故處理規範等。
技術框架的體系涵蓋物理層基礎設施到展現層:與IaaS相關的有IDC自建機房、伺服器集群、負載均衡、虛擬機、Docker等;與安全相關的有防火牆、入侵檢測、備份容災等;與持續發布相關的有GitHub、Jenkins等DevOps自動化運維工具等;基礎支撐軟體有Linux、MySQL、Hadoop、HBase、Elasticsearch(本書是Solr,讀者可以自行選擇)等;中間件有Java的Spring系列框架、Tomcat,更有分散式架構必需的微服務框架Spring Cloud和Dubbo、訊息佇列RabbitMQ和Kafka、分散式快取Redis、分庫分表中間件Mycat和Sharding-JDBC、API網關Zuul、配置中心、調度平台等,還有各種常用組件的框架封裝;此外,有為整個網站保駕護航的日誌中心、APM鏈路跟蹤系統、度量平台、業務監控分析告警平台等。
網際網路公司的技術問題主要有技術架構和技術管理兩方面。在技術架構工作中,更多的是技術的深度和廣度,而在管理性工作中,更多的是對於複雜的人和事的協調能力。網際網路公司的技術管理工作主要有團隊管理、項目管理和研發過程管理。
團隊管理講究客觀、公正為主,人情為輔;決策必須科學合理;績效考評既要看結果,又不能寒了人心。要靠事業、紀律、待遇、人情凝聚人心。主要依靠尊重人、激發人的自覺性來推動工作和團隊管理,必要時也要剔除“刺頭”來防止團隊人心渙散。團隊成員要德才兼備。
項目管理要防止“滑西瓜皮”,必須要有合理的項目計畫,不斷提高項目管理的可控度和可預測性。項目目標應適當,留有餘量。項目的關鍵路徑要確定清楚,優先確保完成,防止出現瓶頸,包括技術瓶頸、資源瓶頸、外部依賴瓶頸等。項目的時間要採取加班、加人、最佳化路徑方案等必要措施以確保里程碑事件的落實。特殊情況下要調整項目計畫,並第一時間通知干係人。項目的質量必須確保不能出現重大生產事故,這是由軟體過程決定的,必須要有很好的工程意識。
研發過程管理主要是軟體研發項目的整個生命周期的工程過程管理,包括需求、架構、開發、測試、上線、監控告警、事故及時處理和復盤等,需要規範嚴謹,尤其是配置管理、持續測試和發布過程最好實現工具化和自動化。
總之,管理首先要明確目標和規劃,為此需要做必要的調查研究,實行民主集中制,從而做出正確的決策。管理目標、規劃確定之後,最重要的是識人、用人、育人。這裡首先需要對崗位的職責非常明確,也就是明確需要什麼樣的人。其次需要用各種手段來考察候選人的素質、能力和意願是否符合崗位的要求。對於已確認的人才必須尊重,用人才最需要的東西來滿足他。最後要育人。人無完人,我們不僅要包容人才的缺點,還要授之以漁,及時幫助人才,指出他們的優點和不足,及時指導他們的思想和工作方法,使其不斷成長,能夠勝任他們的工作。另外,用人做事,不是放任自流,還必須制定管理標準和制度,建立合理的機制、流程和文化,監控大局和關鍵的細節,形成體系,從而貫徹、執行和校驗結果。所謂“制度管人、流程管事、機制文化決定一切”,最終靠結果說話。
中小網際網路公司的技術架構和技術管理有其獨有的特點。因為公司規模小,業務不夠成熟,而產品需要快速疊代,所以應儘可能利用業界成熟的雲計算和開源軟體來降低運維和技術成本。但是,無論如何,基本的領域劃分、服務化是必需的,至少要為將來的重構打下良好基礎而不用把整個系統推倒重來,否則就會增加巨大的業務風險和成本。對於中小網際網路公司的技術管理,應該保持隊伍和流程的短小精悍、敏捷回響。
本書作者張輝清先生長期從事各種規模的網際網路公司的架構和技術管理工作,歷經架構師、技術總監、CTO等技術和管理崗位,對於網際網路公司的功能架構、非功能架構和技術管理有著豐富的研究和經驗。對於中小網際網路公司技術架構和管理的道與術,本書做了非常系統的闡述,其中包含很多付出了巨大心血和代價的寶貴經驗,對於廣大中小型網際網路公司有根本性的指導意義。
—前隆科技 架構框架總監 徐剛

相關詞條

熱門詞條

聯絡我們