chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Web架構師應該具備哪些能力

工程師人生 ? 來源:工程師吳畏 ? 2019-04-03 17:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近和幾個朋友談到時下流行的Web 2.0,提到了其中最重要的角色——架構師。多方各有爭執(zhí),不外乎是因為職業(yè)背景和視角的緣故。包括架構一詞,本身就從建筑學借鑒而來,至于架構師,則可以簡單地從建筑學的設計師來引申,不外乎就是設計結構,設計一個大樓的結構?;氐杰浖旧?,那就可以簡單地理解為負責設計軟件框架的人了。

我們沒有討論清楚架構師、軟件架構師、系統(tǒng)架構師及其Web 架構師這些看似相同卻有所區(qū)別的角色的關鍵區(qū)別,本身見仁見智,也不是一時半會能夠說清楚的,最后我們討論了作為一個Web 2.0 網(wǎng)站架構師需要的一些基本的知識和能力(個人看法,難免有失偏頗):

1,熟知你的業(yè)務模式和目標人群

這是最重要的,Web 2.0 本質上是以Web 作為平臺的應用,如果不真正了解你的業(yè)務,不了解用戶的核心需求,不了解你目標客戶的典型行為,是很難做好網(wǎng)站的。從這個角度來講,一個Web 架構師首先必須是一個出色的產品經(jīng)理。大多時候,我們只要做到業(yè)務技術領先就足夠了,一味地追求技術的先進性反倒會深陷泥潭。

在技術和業(yè)務之間找到一個平衡,也就意味著必須明白整個業(yè)務核心的競爭力在哪里?目標人群的基本訴求在哪里?然后選擇最低成本的技術來實現(xiàn)業(yè)務需求,但是反過來,又必須適當?shù)貫闃I(yè)務拓展保留適當?shù)目臻g。

打個比方說,如果是一個以照片分享為目的應用,你可以將注冊程序寫的爛一點(但是不可以爛到不能動),你可以將幫助系統(tǒng)做的不那么好看一點,但是上傳照片和瀏覽照片絕對不可以慢,你可以數(shù)據(jù)庫設計的不是那么好,但是存儲問題絕對要慎重,絕對不能夠在照片超過1 萬張后,網(wǎng)站速度就和牛一般……

只有真正理解你所要做的事情,技術那玩意兒才可能變得可愛起來。

2,了解負載均衡策略實現(xiàn)

不管怎樣的Web2.0,怎樣的業(yè)務,你都必須做一個關鍵的假設:你的流量一定會上漲的,單臺機器一定不能夠滿足你業(yè)務發(fā)展的需求。我相信這樣的假設是合理的,沒有一個Web 2.0 公司相信他們可以用一臺機器來改變世界。

并不是要求從一開始就設計一個理想化的負載均衡策略,那樣未免有些過于“未雨綢繆”,但是作為一個Web 架構師,一定要給自己留下一些“分家”的余地。因此適當?shù)亓私獠煌瑢用娴呢撦d均衡策略實現(xiàn)是必要的。

一般來說,在小規(guī)模發(fā)展初期,適當?shù)乜紤]數(shù)據(jù)庫分拆和按照業(yè)務進行域名分拆就足夠了。在中等規(guī)模的情況下,可能需要適當?shù)夭杉{硬件或者軟件Load-Balancer,在這種場景中,Web 層面的負載均衡你可以通過F5/NetWare 那樣的硬件來幫你實現(xiàn),當然了,選擇Apache 或者更加專業(yè)的負載均衡軟件也未嘗不可,比如Windows 下面的NLB 和Linux 下面的LVS 。而為了實現(xiàn)負載均衡,在應用服務器層面作一些適當?shù)恼{整也是必要的,至少此刻不能夠讓你隨心所欲地使用session 變量了(其實也并不是完全不可用),而一旦你采用了緩存(Web 2.0 有誰不知道MemCached?),如果考慮不夠周全,本來單機環(huán)境下好好的應用到頭來就會變得亂七八糟,本質上無非是數(shù)據(jù)不同步的問題,其實反過來想,你把流量和壓力分解了,數(shù)據(jù)各自為政了,不出問題也是沒有天理的。

言歸正傳,作為一個Web 架構師,必須了解負載均衡策略的不同實現(xiàn),更要了解負載均衡之后可能引發(fā)的問題和關鍵點,對此一無所知,在面子上也是說不過去的。

3,設計“合理”的存儲

該沒有人打算將所有的東西存儲在一個關系數(shù)據(jù)庫里面吧,也該沒有人可以說,一個Web 2.0 網(wǎng)站用一個關系數(shù)據(jù)庫可以解決問題。如果說Web 2.0 是以用戶為中心,那么也可以說成是以用戶數(shù)據(jù)為核心價值,應用的核心驅動是數(shù)據(jù)。沒有辦法討論是應該用關系數(shù)據(jù)庫還是不用關系數(shù)據(jù)庫,許多東西就是在其中找到一個平衡,一個“合理”的平衡。

傳統(tǒng)的存儲會分為SAN 、NAS 和DAS,只不過隨著技術的發(fā)展,其中的邊界越來越模糊,模糊的可以甚至讓你忘記其中的差別,你盡管看好口袋里的銀子,大致明白有多少銀子能夠辦多少事情就可以了。但是你還是需要去做選擇,對于Web 應用而言,大多還是PC 服務器,也可能許多人熱衷于通過相對廉價的設備構建諸如GFS 那樣的存儲架構。

許多人認為Web 2.0 最關鍵的是業(yè)務,“用錢可以解決的問題,就不是問題”,這話是對的,在早期如果就將架構設計為未來5-10 年的架構,架構師的這種“遠見”必定成為日后的笑柄,但是反過來不去考慮任何數(shù)據(jù)分布的可能,如此短見終究會自食其果。

再看看實際情況中,架構師應該如何面對呢?在啟動階段,簡單而直接的關系型數(shù)據(jù)庫就可以了,你并不需要花費太多的精力去考慮,只要大致測算出一臺服務器的容納能力,然后估算出在到達容納能力上限的一半左右,你有多少的時間可以去折騰,如此而已,也真夠了。簡單地說,粗魯一點,一臺文件服務器,一臺數(shù)據(jù)庫服務器,只要別犯愚蠢錯誤,諸如文件只有一個目錄,完全不可拆分,如數(shù)據(jù)庫只有一個表,耦合了太多邏輯等等,既然沒有,那就放手去做。而在業(yè)務發(fā)展到一定規(guī)模,如已經(jīng)有10 萬用戶,不考慮你的存儲已經(jīng)不可能了,此時我們會發(fā)現(xiàn),諸多性能問題是因為不太合理的存儲問題而導致的,這個時候存儲設計更多是應對性能而考慮的。而在發(fā)展到更大規(guī)模,存儲的可管理性和成本問題逐步成為關鍵。

對于架構師而言,不同時期選擇不同的設計策略是尤為重要的,沒有最好的,只有合理的架構,存儲亦然。

4,異構平臺的整合能力

如果從企業(yè)應用的角度而言,絕對不贊成一個系統(tǒng)中有多個平臺的,那會無謂地增加集成的成本,過去的“數(shù)據(jù)孤島”是最好的證明。那么究竟Web 架構師是在一個平臺上爐火純青就夠了,還是能夠在多個平臺之間漂移為好呢?

我們來重新定義“平臺”的含義, 我簡單地把它理解成兩個層面的,一個是操作系統(tǒng)層面,一個是開發(fā)語言層面,當然討論開來,問題就大了,可以說框架,可以說數(shù)據(jù)庫,可以說協(xié)議等等。但是有一點必須肯定,操作系統(tǒng)是你業(yè)務軟件層面的基礎,而開發(fā)語言是實現(xiàn)業(yè)務的工具,而兩者結合起來,都有一些推薦的經(jīng)典架構,.NET 方面是Windows 2003/2008+Sql Server +IIS 6.0,然后通過Visual Studio 2005/2008,以微軟為依托,完全使用他們提供的服務。LAMP 則是Linux+Apache+MySql+Php, J2EE Web 架構則普遍接受為Hibernate+Spring+Struts,至于RoR、Python,這是明星式的后起之秀。

一個Web 架構師去仔細考察哪個平臺孰優(yōu)孰劣是愚蠢的,除了能夠精通一個平臺,那樣能夠讓你處理業(yè)務的時候得心應手,但最好還能夠同時熟悉另外一個平臺,雖然我們可以說時代已經(jīng)變了,所有的都是XML,都是標準的REST調用,但是你真的能夠保證嗎?大多應用都是.NET 寫的,需要提供一個論壇,你用了Discuz,你需要適當?shù)匦薷臉I(yè)務,雖然論壇本身的定制功能很強大,但是要嵌入特定的業(yè)務,不至于對LAMP 一無所知吧,那樣連統(tǒng)一登錄的問題都不好解決,當然了,也可以為自己說我不需要它,因為有別的可以選擇,但是有一點也是事實,你無法隨心所欲地根據(jù)業(yè)務需要增加最適合你業(yè)務的模塊。

在我個人的理解,一個好的架構師最好能夠同時熟悉兩種操作系統(tǒng),兩個以上的開發(fā)語言,一個方面是現(xiàn)實世界的業(yè)務復雜度使然,一個方面是既然會存在不同的平臺,那必定有其合理性,博取眾家之長,能夠幫助一個架構師在他的工作平臺上更加理性、公正地看待問題本身,其實反過來看.NET 、Java 或者PHP,也不就是相互借鑒其優(yōu)點嘛。

一個好的架構師,是應該有處理異構平臺的能力的,必須記住,Web 本身就是異構的。

5,設計更好的交互

說到交互,大多人會想到是產品設計范疇的交互式設計,Web 2.0 強調以用戶為中心,而交互,也是以用戶為驅動的交互設計。但是我在這里談及的,更多是通常意義的Web前端設計,也可以稱之為“表現(xiàn)層架構”。

我們都知道Web 2.0 很重視交互,也正因為如此,大多工程師耗費更多的時間并不是在后臺的數(shù)據(jù)處理,而是前臺的交互。在AJAX 、RIA 大行其道的今天,Web 架構師一個極其重要的職責是簡化因為“高度交互”而導致的開發(fā)高復雜度。

我們討論AJAX,但不是讓每個開發(fā)人員都去操作XmlHttpRequest,不是讓每個人去了解HTML DOM 、JavaScript 和CSS,然后組合的眼花繚亂。所有人都知道,讓很多開發(fā)人員吐血的不是后臺代碼調試,而是JavaScript 和CSS,因為需要無比的耐心和技巧。而架構的職責呢,就是定義行之有效的規(guī)范和實現(xiàn)。

簡單一點地說,開發(fā)人員要彈出一個類似Facebook 的框,總不至于讓每個開發(fā)人員各顯神通去拼吧,然后絞盡腦汁地去兼容不同的瀏覽器,兼容不同的版本,再然后兼容不同頁面。我需要從后臺取數(shù)據(jù),需要每個開發(fā)人員去自己寫,需要一個隱藏的效果,也需要各顯神通。

于是,有人會說,上面的幾個問題jQuery 可以解決,也有開發(fā)人員會采用這個類庫,但是也會有人用Prototype或ExtJs,而架構師的職責,就是規(guī)定應該用什么,怎么用,而哪些又是不可用的。

那我可以簡單地理解,在這個層面的交互架構師的關鍵職責是定義到底是不是用jQuery, 不同的界面應該用怎樣的html,應該采用怎樣的服務器界面技術,應該采用怎樣的遠程處理框架。

定義這些交互技術的目標是用最簡單的方式實現(xiàn)最好的交互,這個也正是架構的職責所在。

5,性能和故障診斷

本來不應該把這個問題列入其中的,但是考慮到典型的Web 2.0 是永遠的beta 版,換句話說,問題是永遠存在的,你不可能一開始就做出一個完美的應用。隨著業(yè)務的增長,出現(xiàn)性能問題和系統(tǒng)故障的情況是不可避免的。場景很平常: 流量上去了, 卻發(fā)現(xiàn)整體網(wǎng)站變得奇慢無比,有些頁面間歇性地出現(xiàn)錯誤, 更加要命的是, 開發(fā)人員也進行了代碼復查, 卻還是沒有找到“低級”的錯誤。

一個好的架構師,在這個時候應該能夠協(xié)助進行一些診斷和優(yōu)化,基于業(yè)務的、技術的判斷,在愈加復雜的系統(tǒng)中,找出核心的問題所在。通常來說,一個應用系統(tǒng)的性能和SQL 的水平是有關系的,但是到底哪些SQL 有問題,問題影響的程度如何,需要作出快速、準確的判斷。

我不太贊成事后諸葛亮,但是一個好的Web 架構師還是應該能夠洞察到性能導致的問題所在,也會提出一套行之有效的故障診斷方案:是數(shù)據(jù)庫、程序還是網(wǎng)絡,是操作系統(tǒng)還是硬件本身的問題,或者都兼而有之?

性能和故障診斷涉及到的層面太多了,有操作系統(tǒng)、數(shù)據(jù)庫、配置文件、程序代碼,甚至還會和網(wǎng)絡有關,每個方面都需要用一本書來說明,也許還不夠。但是作為架構師,是必須對此有感覺的。

這是我個人對于Web 2.0 架構師所需要素質的一些理解,但是我想還有很多方面的能力是需要的,比如溝通的能力,抽象的能力,平衡的能力等等,也希望各位來幫忙補充。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 架構師
    +關注

    關注

    0

    文章

    47

    瀏覽量

    4880
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    分享一個驅動開發(fā)工程學習路線圖

    驅動工程的成長核心是“從硬件交互到系統(tǒng)設計”的能力躍遷,不同階段需聚焦不同目標:新手重“落地執(zhí)行”,進階重“問題解決”,資深重“架構設計”,架構師重“戰(zhàn)略決策”。今天分享一個各階段詳
    發(fā)表于 11-12 10:44

    在TR組件優(yōu)化與存算一體架構中構建技術話語權

    需要掌握HBM2e接口協(xié)議 類腦計算要求理解脈沖神經(jīng)網(wǎng)絡(SNN) 光子計算涉及硅基光電子集成技術 參與某國家級AI芯片項目的團隊透露,核心研發(fā)人員均具備\"處理器架構師\"
    發(fā)表于 08-26 10:40

    電子發(fā)燒友工程看!電子領域評職稱,技術之路更扎實

    、ADI 等廠商的技術對接資格。? 對嵌入式開發(fā)工程來說,職稱是崗位競爭力的 “加分項”。隨著物聯(lián)網(wǎng)、AI 技術普及,“高級嵌入式開發(fā)工程”“嵌入式系統(tǒng)架構師(中級)” 等職稱,成了企業(yè)篩選
    發(fā)表于 08-20 13:53

    季豐電子正式具備TO247-3P封裝能力

    季豐電子極速封裝部再添 “新戰(zhàn)力”—— 正式具備 TO247-3P 封裝能力!這一技術突破不僅代表我們在封裝領域邁上一個新的臺階,同時將為廣大客戶帶來更適配、更高效的封裝解決方案,助力客戶產品研發(fā)加速落地。
    的頭像 發(fā)表于 07-28 15:17 ?833次閱讀

    Tenstorrent 首席架構師:未來 RISC-V 會是計算機的主流

    強,適合定制化需求等。在 7 月 17 日第五屆(2025)RISC-V 中國峰會的主論壇上,Tenstorrent 首席架構師 Wei-Han Lien 表示,Tenstorrent 投入了大量人力
    發(fā)表于 07-17 11:26 ?1399次閱讀

    WEB組態(tài)物聯(lián)網(wǎng)平臺是什么?有什么功能?

    WEB組態(tài)物聯(lián)網(wǎng)平臺是一種基于Web技術的物聯(lián)網(wǎng)(IoT)可視化管理與監(jiān)控平臺,它將 組態(tài)軟件 的靈活配置能力與 物聯(lián)網(wǎng)技術 的數(shù)據(jù)采集、傳輸、分析功能相結合,通過瀏覽器即可實現(xiàn)設備監(jiān)控、數(shù)據(jù)展示
    的頭像 發(fā)表于 06-17 15:25 ?671次閱讀

    如何釋放異構計算的潛能?Imagination與Baya Systems的系統(tǒng)架構實踐啟示

    查看完整報告。你是否正在設計多核或CPU/GPU混合系統(tǒng),卻依然未能達成性能目標?你并不孤單。如今,系統(tǒng)架構師們不斷追求構建更強大的SoC,過于專注于計算能力的“
    的頭像 發(fā)表于 06-13 08:33 ?844次閱讀
    如何釋放異構計算的潛能?Imagination與Baya Systems的系統(tǒng)<b class='flag-5'>架構</b>實踐啟示

    智能照明系統(tǒng):具備認知能力的“光神經(jīng)網(wǎng)絡”

    ,形成具備認知能力的“光神經(jīng)網(wǎng)絡”。 一、技術架構的革新突破 1.感知層 環(huán)境光傳感器捕捉自然光照度,人體存在探測器識別微動熱源,溫濕度模塊監(jiān)測環(huán)境參數(shù)。新型系統(tǒng)甚至集成聲音識別單元,實現(xiàn)聲光聯(lián)動控制。 2.網(wǎng)絡層 DAL
    的頭像 發(fā)表于 06-05 15:46 ?553次閱讀

    基于 HT for Web 的輕量化 3D 數(shù)字孿生數(shù)據(jù)中心解決方案

    一、技術架構:HT for Web 的核心能力 圖撲軟件自主研發(fā)的 HT for Web 是基于 HTML5 的 2D/3D 可視化引擎,核心技術特性包括: 跨平臺渲染 :采用 Web
    的頭像 發(fā)表于 05-30 14:33 ?632次閱讀
    基于 HT for <b class='flag-5'>Web</b> 的輕量化 3D 數(shù)字孿生數(shù)據(jù)中心解決方案

    一個優(yōu)秀的射頻測試工程需要具備哪些技能?

    一個優(yōu)秀的射頻測試工程需要具備哪些技能?在無線技術高速發(fā)展的今天,射頻(RF)測試工程是確保通信設備性能與用戶體驗的關鍵角色。從復雜的調制方案到無處不在的干擾,從功耗優(yōu)化到標準合規(guī)性,工程
    的頭像 發(fā)表于 05-16 10:08 ?1548次閱讀
    一個優(yōu)秀的射頻測試工程<b class='flag-5'>師</b>需要<b class='flag-5'>具備</b>哪些技能?

    AD9253對時鐘抖動的要求怎么樣,應該選擇怎樣的時鐘架構?

    1:這款芯片支持連續(xù)采樣、沿觸發(fā)和外觸發(fā)工作方式 2:時鐘必須使用時鐘芯片配置才行?使用有源晶振是否可以? 3:這款芯片對時鐘抖動的要求怎么樣,應該選擇怎樣的時鐘架構?
    發(fā)表于 04-15 06:43

    微機消諧具備強大的抗干擾能力

    復雜算法迅速判斷故障類型與嚴重程度。 它還具備強大的抗干擾能力。采用特殊屏蔽與濾波技術,在復雜電磁環(huán)境中穩(wěn)定工作,避免外界干擾對裝置運行的影響,確保消諧動作的準確性和可靠性。 實時監(jiān)測與顯示功能也十分實用。裝
    的頭像 發(fā)表于 02-13 15:11 ?485次閱讀

    一個優(yōu)秀的嵌入式軟件“架構師” — AWFlow

    在大型項目的軟件開發(fā)過程中,模塊化開發(fā)面臨著接口設計不合理、代碼沖突以及模塊間不兼容等問題,導致團隊協(xié)作效率低下。為了解決這些問題,嵌入式軟件“架構師”—AWFlow,應運而生!在大型項目
    的頭像 發(fā)表于 02-10 16:44 ?782次閱讀
    一個優(yōu)秀的嵌入式軟件“<b class='flag-5'>架構師</b>” — AWFlow

    英特爾前Xeon首席架構師加盟高通

    。 Kottapalli在英特爾度過了長達28年的職業(yè)生涯,期間他擔任了Xeon處理器首席架構師及高級研究員等關鍵職務。在英特爾,他以其深厚的專業(yè)知識和卓越的領導能力,成為該公司服務器芯片設計的核心人物之一。 對于此次加盟高通,Kottapalli表示,他期待能在高通這個
    的頭像 發(fā)表于 01-15 15:30 ?725次閱讀

    物聯(lián)網(wǎng)就業(yè)有哪些高薪崗位?

    架構師: 負責制定物聯(lián)網(wǎng)解決方案,設計物聯(lián)網(wǎng)系統(tǒng)的整體架構,對于整個系統(tǒng)的穩(wěn)定性、安全性和性能負有重要責任。由于技術要求較高,該崗位通常享有豐厚的薪資待遇。 物聯(lián)網(wǎng)數(shù)據(jù)分析專家: 負責對大量物聯(lián)網(wǎng)數(shù)據(jù)
    發(fā)表于 01-10 16:47