中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

老史聊架構(gòu):當(dāng)當(dāng)網(wǎng)架構(gòu)優(yōu)化的幾點心得

2019-03-26    來源:聊聊架構(gòu)

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

我想這兩天大家或多或少有在看李克強總理的政府工作報告,我也在電視旁愣著算是看完了全程,看完有個感受想反饋,要是總理的報告能和PPT搭配著講就更好了:)政府工作報告里大篇幅回顧了2015年的工作,當(dāng)時恰好在策劃聊聊架構(gòu)下周的內(nèi)容,突然靈感一現(xiàn),為何我們本期的內(nèi)容不以去年的變化和趨勢為切入點,談?wù)劶軜?gòu)的優(yōu)化了?于是乎,便和當(dāng)當(dāng)網(wǎng)的史海鋒老師策劃了本期內(nèi)容。

歡迎關(guān)注聊聊架構(gòu)微信號,獲取更多精彩架構(gòu)內(nèi)容,下周我們將會發(fā)布《架構(gòu)漫談》系列文章的電子書,敬請期待!

隨著移動互聯(lián)網(wǎng)的進一步普及,網(wǎng)上消費購物比例不斷提高,電商網(wǎng)站的系統(tǒng)規(guī)模隨業(yè)務(wù)快速增長,承載每天數(shù)以萬計的交易已經(jīng)是主流電商網(wǎng)站的常態(tài)。

幾年前618、雙十一、雙十二標志著電商進入促銷常態(tài)化和大規(guī)模活動化階段,前兩年則是主打無線APP購物,那么2015年,電商行業(yè)在業(yè)務(wù)模式上呈現(xiàn)出了哪些特征?我覺得可以簡單總結(jié)為4點。

渠道拓展

移動互聯(lián)網(wǎng)時代,流量入口愈加分散,催生出諸多導(dǎo)購引流的APP,電商公司需要具備對接多種渠道的能力,還要結(jié)合技術(shù)趨勢,開通微信公眾號,甚至是入駐其他零售平臺、分銷平臺,打造更多的垂直頻道,充分吸引流量。

實時交互

隨著大數(shù)據(jù)實時計算技術(shù)的成熟,當(dāng)用戶在線時,根據(jù)用戶畫像和行為進行實時交互,結(jié)合業(yè)務(wù)活動提供精準的個性化即時服務(wù),不浪費每一毫秒,提升客戶體驗,提高客戶粘性。

功能聚合

在每一個用戶打開的界面提供盡可能多的功能和信息,典型的是單品頁,現(xiàn)在堆滿了各種鏈接,顯示能夠使用哪些禮券、有哪些種促銷和服務(wù),甚至商品副標題也會嵌入活動鏈接。竭盡所能利用流量,提高轉(zhuǎn)化。

精細運營

營銷越來越復(fù)雜,對運營的要求相應(yīng)提高,運營人員必須了解每一個操作之后的效果是否符合預(yù)期,摸索對于不同的季節(jié)、地區(qū)、時段、客戶群體、商品品類最有效的營銷手段。

架構(gòu)優(yōu)化實踐

在這樣的背景下,當(dāng)當(dāng)網(wǎng)通過以下幾個方面來適應(yīng)變化,并推進架構(gòu)優(yōu)化。

第一,對技術(shù)部組織架構(gòu)進行調(diào)整。

將原來的職能化組織中的產(chǎn)品、研發(fā)和測試部門按照產(chǎn)品線進行整合,轉(zhuǎn)型為Unit化,以加強同一產(chǎn)品線不同職能團隊之間的配合協(xié)作,溝通更高效,團隊更為聚焦。

這樣的組織結(jié)構(gòu)更易于應(yīng)用敏捷,與實施敏捷的前提同理,產(chǎn)品線拆分建立在系統(tǒng)架構(gòu)解耦基礎(chǔ)之上,在這一點上,系統(tǒng)架構(gòu)與組織架構(gòu)異曲同工且相輔相成。解耦越充分,系統(tǒng)邊界越清晰,模塊越小,越適合敏捷團隊,能夠快速響應(yīng)業(yè)務(wù)需求。

業(yè)務(wù)相近的產(chǎn)品線組成一個產(chǎn)品研發(fā)部,這樣多數(shù)的小型需求在部門內(nèi)就可以解決,面對緊急項目還可以靈活使用人力資源,并為員工創(chuàng)造接觸更多類型業(yè)務(wù)需求的機會。

第二,系統(tǒng)分層依賴。

隨著業(yè)務(wù)邏輯越來越復(fù)雜,系統(tǒng)越來越多,相互依賴也越來越多。比如我的當(dāng)當(dāng)中就聚合了安全中心、用戶、賬戶、訂單、收藏夾、推薦等多維度的信息,需要調(diào)用多個系統(tǒng)服務(wù)。經(jīng)過討論,決定將用戶交互層面的前端頁面與原有的后端系統(tǒng)拆分,并入前端的產(chǎn)品線,以便為用戶提供更好的服務(wù)。

而后端系統(tǒng)之間的依賴關(guān)系也需要更為精細的分層定義,對于促銷系統(tǒng),需要會員系統(tǒng)、訂單系統(tǒng)、價格系統(tǒng)提供基礎(chǔ)數(shù)據(jù);對于運費系統(tǒng)需要商品信息和配貨數(shù)據(jù),而在精準定位銷售區(qū)域的前提下,庫存只是配貨的基礎(chǔ)數(shù)據(jù),配貨系統(tǒng)負責(zé)判斷是否有貨,Promise則根據(jù)配貨結(jié)果計算預(yù)計送達時間。

調(diào)整系統(tǒng)之間的關(guān)系是很難的,牽一發(fā)而動全身,但重構(gòu)是契機,2015年,對于電商的核心系統(tǒng)交易和促銷進行了重構(gòu),同時價格、配貨、運費等系統(tǒng)也進行了較大調(diào)整,從而使系統(tǒng)間依賴問題得到了明顯改善。

第三,服務(wù)化。

微服務(wù)為互聯(lián)網(wǎng)行業(yè)的服務(wù)化指明了方向,也堅定了我們進行服務(wù)拆分和解耦的決心。

原有的架構(gòu)以系統(tǒng)為維度,服務(wù)歸屬于明確的系統(tǒng),而系統(tǒng)的劃分一般以業(yè)務(wù)功能為聚合,隨著業(yè)務(wù)的發(fā)展,新的業(yè)務(wù)功能層出不窮,總會有一些打破原有的系統(tǒng)邊界,給架構(gòu)提出難題。

服務(wù)化,不僅是指系統(tǒng)將能力通過服務(wù)對外提供,更重要的是服務(wù)本身就是承載業(yè)務(wù)功能的單元,如果有組合了多個邏輯難以歸入某系統(tǒng)的服務(wù),不必糾結(jié),作為獨立的業(yè)務(wù)模塊開發(fā)就是了,以服務(wù)為單元,系統(tǒng)架構(gòu)更加扁平,簡單清晰。

微服務(wù)架構(gòu)中,服務(wù)粒度會更小,服務(wù)治理的需求更加迫切,更需要技術(shù)手段解決,比如分布式服務(wù)框架,當(dāng)當(dāng)使用的是基于Dubbo二次研發(fā)的DubboX,以及結(jié)合ddframe實現(xiàn)的服務(wù)調(diào)用監(jiān)控。

去年的容器技術(shù)爆發(fā),為微服務(wù)架構(gòu)實施提供了有力工具,當(dāng)當(dāng)內(nèi)部也在部分系統(tǒng)使用了Docker。

微服務(wù)大勢所趨,秉承SOA理念,在服務(wù)治理中心的基礎(chǔ)上,將系統(tǒng)弱化,提供更多的基礎(chǔ)服務(wù),提高了系統(tǒng)的復(fù)用性和靈活性。

第四,平臺化。

平臺化包括兩個維度,技術(shù)平臺化和系統(tǒng)平臺化。

技術(shù)平臺化是指在技術(shù)層面建立統(tǒng)一的體系,包括根據(jù)行業(yè)特點進行技術(shù)選型,使用穩(wěn)定可靠的技術(shù)組件。

當(dāng)當(dāng)從2012年開始將原有的.net平臺向Java平臺遷移,從封閉到開源,應(yīng)用電商行業(yè)的主流技術(shù)棧,到2015年,基本完成了技術(shù)轉(zhuǎn)型,主要后端業(yè)務(wù)系統(tǒng)都轉(zhuǎn)移到Java平臺。

經(jīng)過數(shù)年的積累,2015年當(dāng)當(dāng)架構(gòu)部研發(fā)了Java應(yīng)用開發(fā)框架ddframe,目的是分離技術(shù)和業(yè)務(wù),封裝技術(shù)細節(jié),將應(yīng)用開發(fā)人員的精力集中在業(yè)務(wù)開發(fā)上。

隨后再接再厲,當(dāng)當(dāng)架構(gòu)部又推出了用來替代TBSchedule的分布式作業(yè)調(diào)度框架Elastic-Job。并將之開源,基于JDBC的分布式數(shù)據(jù)庫中間件Sharding-JDBC也在開發(fā)中。

統(tǒng)一的技術(shù)棧,能夠復(fù)用技術(shù)資源,持續(xù)積累整體的研發(fā)能力,為做精做專提供更好的基礎(chǔ)條件。

系統(tǒng)平臺化是指搭建基礎(chǔ)平臺,包括測試平臺、分布式服務(wù)平臺、自動化運維平臺、監(jiān)控平臺、緩存集群、消息中間件平臺、大數(shù)據(jù)處理平臺、項目管理系統(tǒng)、日志平臺、問題跟蹤系統(tǒng)等。

基礎(chǔ)平臺是各業(yè)務(wù)系統(tǒng)有機協(xié)作的基礎(chǔ),保證了整個技術(shù)架構(gòu)的全面可控,能夠降低系統(tǒng)運維復(fù)雜度,是大型電商系統(tǒng)不可或缺的組成部分,良好的基礎(chǔ)平臺是技術(shù)實力和管理能力的雙重體現(xiàn),而多數(shù)公司更注重業(yè)務(wù),會在基礎(chǔ)平臺建設(shè)方面欠下許多技術(shù)債務(wù)。

2015年,當(dāng)當(dāng)搭建了自動化運維平臺Pangu、監(jiān)控平臺Radar,重構(gòu)了項目管理系統(tǒng),Redis集群管理平臺也在搭建中。

第五,核心系統(tǒng)重構(gòu)。

在電商業(yè)務(wù)發(fā)展的快節(jié)奏之下,核心系統(tǒng)持續(xù)迭代是常態(tài),而且基本兩、三年以上,就需要考慮重構(gòu),否則難以支撐業(yè)務(wù)的快速變化。

另外,系統(tǒng)重構(gòu)集中梳理業(yè)務(wù)邏輯和系統(tǒng)依賴,整理統(tǒng)一的文檔,剔除無用功能,歸并多個版本,甩掉歷史包袱重新設(shè)計架構(gòu),適度的前瞻性設(shè)計使系統(tǒng)在一定周期內(nèi)具備業(yè)務(wù)擴展性。

2015年,當(dāng)當(dāng)完成了交易系統(tǒng)和促銷系統(tǒng)進行了重構(gòu)。

交易系統(tǒng)在2015年10月底完成新老版本切換。重構(gòu)耗費約1500人天,重構(gòu)代碼17萬行,全部切換至Java開源技術(shù)架構(gòu),為公司節(jié)約大量成本,并進行了架構(gòu)優(yōu)化,整體性能平均提升25%,經(jīng)受住了雙十一和雙十二的考驗。

在當(dāng)當(dāng),有一些“類促銷”業(yè)務(wù),從廣義上可以歸入促銷范疇,但業(yè)務(wù)與數(shù)據(jù)均不屬于促銷系統(tǒng),在促銷系統(tǒng)重構(gòu)設(shè)計中,我們考慮將這類業(yè)務(wù)逐漸回收;另外,促銷系統(tǒng)能不能承擔(dān)一些營銷的功能?帶著這兩點考慮,在促銷基礎(chǔ)上進一步抽象出活動模型。

打造內(nèi)部應(yīng)用框架

當(dāng)當(dāng)技術(shù)部現(xiàn)在是按照產(chǎn)品線劃分的,一個產(chǎn)品線的產(chǎn)品、開發(fā)、測試都在一個部門,但像項目管理、運維、架構(gòu)這些技術(shù)體系中公用的部分是獨立的部門。架構(gòu)部里主要分成三部分,一個是架構(gòu)與規(guī)范,一個是性能測試,一個是基礎(chǔ)應(yīng)用系統(tǒng)研發(fā)。

我們花了比較多的精力在技術(shù)架構(gòu)上,去年我們在Dubbo上做了二次開發(fā),做了DubboX并且對外開源,業(yè)界反饋還不錯,包括很多來面試的人都知道。

我們的技術(shù)體系、核心業(yè)務(wù)系統(tǒng)明確的方向是Java,去年年底,我們開始做一個基于Java的應(yīng)用開發(fā)框架,DDFrame,用它去對接一些核心組件,包括SOA、作業(yè)調(diào)度、緩存、消息隊列、數(shù)據(jù)庫、配置中心等,現(xiàn)在已經(jīng)發(fā)布了2.0版本。雖然受限于資源,進度比較緩慢,但我們一直在做這件事,未來也會慢慢完善這個框架,使其成為技術(shù)體系的核心。

架構(gòu)師并非必需品?

我在上大學(xué)的時候?qū)W的就是計算機,但沒學(xué)過系統(tǒng)架構(gòu)方面的課,也沒聽說過架構(gòu)師,之前做項目的時候也很少有專門的架構(gòu)師角色。一般來講,系統(tǒng)比較簡單的話,并不一定要有架構(gòu)師,當(dāng)系統(tǒng)更為復(fù)雜,才需要有人在更高的視角上去關(guān)注整體性的東西,這也是系統(tǒng)規(guī)模不斷發(fā)展的結(jié)果。 所以,我們可以認為,架構(gòu)師并不是一個必需品,甚至不同公司架構(gòu)師的職責(zé)都不太一樣,并沒有一個非常明確的定義,但整體來講,架構(gòu)師需要關(guān)注整個體系中方方面面的東西,還需要去解決一些關(guān)鍵性的技術(shù)難點,并需要有更為長遠的考慮,這個是共識。

架構(gòu)師與工程師之別

架構(gòu)師與工程師之間的差別并不在于年紀 ,而是在于視角的不同以及各方面積累的差別。

首先是意識。作為架構(gòu)師,不能僅僅關(guān)注怎么去實現(xiàn)一個功能,還得去琢磨為什么這么做、怎樣才能做得更好、應(yīng)該在什么場景采用什么樣的技術(shù)方案等問題。另外還得去關(guān)注測試、部署、項目管理的方式等方面,甚至要去了解用戶的需求、公司業(yè)務(wù)的需求。如果一直考慮這些事情,時間長了、經(jīng)驗多了,就會有比較好的整體概念或視圖在腦中,綜合素質(zhì)會得到提升,明白功能只是最基本的,系統(tǒng)的可用性、穩(wěn)定性、可擴展性更為重要。

其次是積累。IT技術(shù)一直在演進,全世界無數(shù)人的不斷研究與實踐成就了技術(shù)的提升與進化。作為技術(shù)人,需要關(guān)注當(dāng)前最新的技術(shù)、架構(gòu)、解決方案、技術(shù)理念等,理念可以用不同的技術(shù)來實現(xiàn),也一個不斷進化的過程。而作為架構(gòu)師,承擔(dān)的是更重要的角色,他的決定會影響到更大的團隊或體系,所以就需要有足夠多的相關(guān)知識和技能,以及足夠廣的視角,而這些都需要架構(gòu)師平時不斷的積累。我每年大概會看20多本書,技術(shù)相關(guān)的大概一半,另一半主要是社科類、經(jīng)濟、歷史、管理之類的,對提高架構(gòu)思維很有幫助。

再次是責(zé)任感。之前提到,架構(gòu)師承擔(dān)的是更重要的角色,他的決定會影響到技術(shù)選型、系統(tǒng)架構(gòu)、具體實現(xiàn)的方案甚至系統(tǒng)發(fā)展的方向,所以架構(gòu)師需要有很強的責(zé)任感,要對技術(shù)團隊負責(zé),需要發(fā)揮自己的影響力,做很多溝通、協(xié)調(diào)、支持的工作。

最后是興趣。在我看來,人是受限于他的性格、興趣、天分這些因素的,會不自覺地去靠近他更喜歡、更擅長的方向。所以,到底是當(dāng)工程師還是架構(gòu)師,或者其他角色,也是要看興趣的,有的人就是喜歡解決技術(shù)難題,就是喜歡具體的模塊實現(xiàn),不想牽扯太多精力去考慮其他的方面,那么也不見得非要當(dāng)架構(gòu)師,只是分工不同,業(yè)界也有技術(shù)專家、研究員這樣的角色。

架構(gòu)與管理相通

之前架構(gòu)師大會上經(jīng)常有人說,沒有最好的架構(gòu),只有最合適的架構(gòu)。確實如此,作為架構(gòu)師,很多時候,技術(shù)上的東西可能跟程序員差不多,但差別就在于能不能以更大更廣的視角去看待問題,而非僅從自身角度出發(fā)。

視角變大之后,所要關(guān)注的東西就會變多,變量、變數(shù)也會更多,很難理想主義,很多時候都需要做出妥協(xié)或者說平衡,到最后就會發(fā)現(xiàn),架構(gòu)和管理在很多時候是相通的。

管理是在一個有限資源、確定時間點、明確目標的情況下,盡可能達成目標,過程中需要考慮輕重緩急,需要隨時調(diào)整以適應(yīng)現(xiàn)實變化,以完成目標為首要考量。

架構(gòu)也是如此,需要考慮的是宏觀上的方向性的問題,是各個部分之間的平衡關(guān)系,是如何配合才能達成最佳效果,而非僅僅是短期目標而達成,也不必糾結(jié)于細節(jié)的完美。

這些年,管理、架構(gòu)都發(fā)展出了很多的理論,雖然行業(yè)、環(huán)境一直在變,但卻也不能直接斷定它們是不是合適,需要學(xué)習(xí)的是其中的思維方式,具體的問題具體分析。

IT是條不歸路

有這樣的感慨是因為IT行業(yè)發(fā)展實在是太快了,覆蓋的領(lǐng)域也越來越廣。前兩天剛好面試了一個候選人,40多歲,傳統(tǒng)IT領(lǐng)域的,能力很不錯,在原來公司也做到了挺高的職位,但他不熟悉現(xiàn)在互聯(lián)網(wǎng)主流的東西,面對的也是不同維度的需求,思路對不上,就很難符合我們的要求。每次見到這樣的老大哥,心里都有很悲涼的感覺。

IT人的能力和價值是基于技術(shù)的,一旦跟不上技術(shù)進化的腳步,或者當(dāng)初所選的領(lǐng)域成為夕陽領(lǐng)域,職業(yè)道路就會面臨轉(zhuǎn)折。這也是我之前換工作的原因之一,一直在原來的公司干下去的話,真的會失去競爭力,很有危機感。

尤其對我們這一代做IT的人來說,前面沒有多少人走過這條路,沒有借鑒之處,真的不知道十幾、二十年后,我們的未來會是什么樣?我們這些年的摸索,也是給后來者趟路,現(xiàn)在剛畢業(yè)的二十多歲的年輕人,就能看到未來的方向,知道自己十年之后大概會是什么樣的,但我們真的一直都不知道。

不過,既然選擇了這一行,就只能持續(xù)關(guān)注行業(yè)發(fā)展,不斷提升自己,多學(xué)習(xí)、勤思考,努力走出一條路來。

嘉賓介紹

史海峰,當(dāng)當(dāng)網(wǎng)架構(gòu)師,技術(shù)委員會成員,EGO會員。

2001年畢業(yè)于北京化工大學(xué)計算機科學(xué)與技術(shù)專業(yè),曾在神州數(shù)碼、亞信聯(lián)創(chuàng)長期從事電信行業(yè)業(yè)務(wù)支撐系統(tǒng)集成工作,參與中國移動、中國聯(lián)通多個項目,具有豐富的大型業(yè)務(wù)系統(tǒng)研發(fā)實施經(jīng)驗。

2012年加入當(dāng)當(dāng)網(wǎng),負責(zé)總體架構(gòu)規(guī)劃、技術(shù)規(guī)范制定和技術(shù)預(yù)研推廣,善于把握復(fù)雜業(yè)務(wù)需求,提出創(chuàng)新性解決方案,參與了近年當(dāng)當(dāng)網(wǎng)多個重點項目的方案設(shè)計,在項目中對系統(tǒng)架構(gòu)進行持續(xù)改造優(yōu)化。負責(zé)技術(shù)委員會組織管理工作,發(fā)掘最佳實踐、推動技術(shù)革新,組織內(nèi)外部技術(shù)交流。

標簽: 網(wǎng)站優(yōu)化 當(dāng)當(dāng)網(wǎng)架構(gòu)優(yōu)化 架構(gòu)優(yōu)化 

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:站長最關(guān)心的網(wǎng)站優(yōu)化問題匯總-基礎(chǔ)版

下一篇:【ASO優(yōu)化】借助強大IP的嵌套式ASO優(yōu)化大法