摘要:?jiǎn)柲銥槭裁匆獮榉抡鏈y(cè)試編寫(xiě)工具這個(gè)項(xiàng)目的進(jìn)展如何雖然我經(jīng)常會(huì)提到,但是這個(gè)工具是在的架構(gòu)基礎(chǔ)上寫(xiě)的?,F(xiàn)在,我在忙一個(gè)叫做解決方案藍(lán)圖的項(xiàng)目,無(wú)論是否用到,這個(gè)工具都可以幫助人們完成仿真測(cè)試。
非商業(yè)轉(zhuǎn)載請(qǐng)注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/article/195743
Michael T. Nygard是一位從業(yè)二十余年的資深程序員,現(xiàn)任Cognitect首席架構(gòu)師,他被譽(yù)為在線業(yè)務(wù)的“流動(dòng)解決問(wèn)題專家”。Nygard曾先后為美國(guó)政府、軍隊(duì)、銀行、金融、農(nóng)業(yè)和零售等多個(gè)行業(yè)交付過(guò)運(yùn)營(yíng)系統(tǒng),這種實(shí)際運(yùn)營(yíng)的經(jīng)歷改變了他對(duì)軟件架構(gòu)的看法,也讓他對(duì)在相當(dāng)不友好的環(huán)境下構(gòu)建高性能、高可靠性的軟件有了獨(dú)特的見(jiàn)解。他寫(xiě)過(guò)多篇文章和社論,是軟件架構(gòu)經(jīng)典著作《架構(gòu)之美》和《軟件架構(gòu)師需要知道的97件事》的作者之一。Nygard最新出版的著作《發(fā)布!軟件的設(shè)計(jì)與部署》詳細(xì)展示了軟件發(fā)布前可能出現(xiàn)的種種問(wèn)題以及相應(yīng)的解決之道,書(shū)中所有主題都是通過(guò)作者自己研究過(guò)的真實(shí)案例來(lái)闡述的。
問(wèn):您曾經(jīng)在博客中說(shuō)過(guò)可能會(huì)寫(xiě)幾本新書(shū)(Three Book Ideas),有最新的進(jìn)展嗎?
任何時(shí)候,如果你問(wèn)一位作者這個(gè)問(wèn)題都會(huì)得到很有趣的回應(yīng)。他會(huì)看起來(lái)很緊張,開(kāi)始出汗,然后含糊地說(shuō)一些并不連貫的話,同時(shí)他還會(huì)急迫地尋找最近的出口。我要說(shuō)的是,現(xiàn)在這個(gè)階段我還沒(méi)有什么好宣布的。
問(wèn):《發(fā)布!》中提到的一些模式現(xiàn)在已經(jīng)被廣泛采用,如 Circuit Breaker,已經(jīng)有了 Netflix 的 Hystrix 這樣漂亮的實(shí)現(xiàn),考慮到《發(fā)布!》是一本2007年出版的書(shū),如今8年已經(jīng)過(guò)去,你是否看到了一些新的穩(wěn)定性/容量模式?
有一種重要的模式,它通過(guò)兩種方式顯示出來(lái):異步式和反應(yīng)式。我把它們看做一個(gè)硬幣的兩面。因?yàn)楹芏喾€(wěn)定性模式都要依靠阻塞線程才能起作用,所以這兩種方式都有用。
問(wèn):有時(shí)候簡(jiǎn)單的錯(cuò)誤就會(huì)造成整個(gè)系統(tǒng)宕機(jī),這難道僅僅是程序員的一行代碼造成的嗎?可以引入什么機(jī)制來(lái)保證復(fù)雜系統(tǒng)的穩(wěn)定性呢?
很多問(wèn)題事實(shí)上就是一行代碼引起的,但是總是有其他因素來(lái)放大這個(gè)問(wèn)題。外部環(huán)境的變化可能會(huì)導(dǎo)致一個(gè)潛在的錯(cuò)誤顯現(xiàn)出來(lái)?;蛘咭晃徊僮鲉T的活動(dòng)可能會(huì)觸發(fā)平時(shí)不會(huì)執(zhí)行的代碼,從而導(dǎo)致問(wèn)題出現(xiàn)。
有一些問(wèn)題則是因?yàn)橄到y(tǒng)的大規(guī)模結(jié)構(gòu)而產(chǎn)生的。比如,我并不喜歡SOA中的“實(shí)體服務(wù)”模型。原因是每個(gè)應(yīng)用都需要很多實(shí)體。概率的規(guī)則告訴我們當(dāng)所有實(shí)體服務(wù)都不工作的時(shí)候,擴(kuò)展的系統(tǒng)很可能會(huì)出現(xiàn)故障。
所以,我會(huì)努力在微觀和宏觀范圍內(nèi)都讓系統(tǒng)具有更大的恢復(fù)力(甚至是穩(wěn)健性)。在微觀層面上,我使用書(shū)中提到的設(shè)計(jì)模式。在宏觀層面上,我分析系統(tǒng)的“故障域”。也就是說(shuō),當(dāng)一個(gè)部件(硬件或軟件)壞掉的時(shí)候,受影響的應(yīng)用和功能的范圍有多大?通過(guò)在應(yīng)用間重新分配功能和把實(shí)體拆分成小平面,總有辦法把系統(tǒng)分割成獨(dú)立的故障域。
問(wèn):復(fù)雜的業(yè)務(wù)會(huì)導(dǎo)致復(fù)雜的系統(tǒng)嗎?作為一位架構(gòu)師,如何做到不傷害正常業(yè)務(wù)處理流程的同時(shí)又保持架構(gòu)簡(jiǎn)單?
到目前為止,我沒(méi)有發(fā)現(xiàn)復(fù)雜業(yè)務(wù)和復(fù)雜系統(tǒng)之間的關(guān)聯(lián)性。我知道的系統(tǒng)復(fù)雜度的最強(qiáng)的預(yù)示變量就是規(guī)定。
問(wèn):DevOps和傳統(tǒng)運(yùn)營(yíng)工程師有什么區(qū)別?
DevOps強(qiáng)調(diào)同感。在DevOps的文化中,開(kāi)發(fā)者關(guān)心他們的應(yīng)用如何影響運(yùn)營(yíng)者們的生活。我的應(yīng)用要求管理員必須在半夜保持清醒來(lái)做部署嗎?我怎么改變我的應(yīng)用才能讓她能少花時(shí)間在終端上,從而擁有更多的時(shí)間和家人在一起?運(yùn)營(yíng)作為報(bào)答:我們?nèi)绾尾拍軇?chuàng)造一個(gè)更好的環(huán)境,讓開(kāi)發(fā)者帶著勇氣創(chuàng)造并傳遞價(jià)值?
問(wèn):從2007年的C/S和B/S到現(xiàn)在的App和NoSQL,互聯(lián)網(wǎng)行業(yè)已經(jīng)經(jīng)歷了重大變革。很多敏捷方法都已經(jīng)有所進(jìn)化。這些年軟件發(fā)布都發(fā)生了哪些變化?還有什么是不變的?
我認(rèn)為有三件事變化最大:
首先是Sun和微軟兩家公司統(tǒng)治的覆滅。在以前,幾乎所有公司的軟件開(kāi)發(fā)都要用Java或 .Net,輔以當(dāng)時(shí)發(fā)展迅速的Ruby on Rails社區(qū)。今天,經(jīng)??梢砸?jiàn)到使用不同語(yǔ)言和運(yùn)行時(shí)環(huán)境的系統(tǒng)。
第二,云部署環(huán)境已經(jīng)戲劇性地改變了經(jīng)濟(jì)。
第三點(diǎn)同時(shí)很大程度上也是前兩點(diǎn)造成的結(jié)果,開(kāi)源操作工具已經(jīng)使高可靠性的運(yùn)營(yíng)變得大眾化。在2007年的時(shí)候,需要花費(fèi)上百萬(wàn)美元才能做好數(shù)據(jù)中心自動(dòng)化,集中管理,以及監(jiān)控。如今,你可以下載所有這些。
問(wèn):隨著移動(dòng)互聯(lián)網(wǎng)的興起,云服務(wù)的成熟,IT行業(yè)在發(fā)生天翻地覆的變化。作為一名架構(gòu)師,應(yīng)該重點(diǎn)關(guān)注哪些技術(shù)理念?
企業(yè)架構(gòu)師之前關(guān)注的是圖表中“方盒內(nèi)”的技術(shù)。也就是說(shuō),他們的目標(biāo)是執(zhí)行細(xì)節(jié)完備的標(biāo)準(zhǔn)化技術(shù)。
在現(xiàn)在的世界里,我認(rèn)為架構(gòu)師應(yīng)該更加關(guān)心數(shù)據(jù)格式和數(shù)據(jù)表示法。也就是說(shuō),他們應(yīng)該關(guān)心的是箭頭,而不是方盒。
問(wèn):Cognitect使用的編程語(yǔ)言主要是Clojure,這和大部分公司使用的主流語(yǔ)言(C / Java / C#)不同。你認(rèn)為未來(lái)的編程語(yǔ)言會(huì)變成什么樣?
我并不適合回答這一問(wèn)題。我只能說(shuō)我看到很多開(kāi)發(fā)者都在朝著函數(shù)式編程轉(zhuǎn)型。
問(wèn):在Cognitect,每周五開(kāi)發(fā)者都會(huì)花時(shí)間在業(yè)余項(xiàng)目和開(kāi)源軟件上。20%的總體工作時(shí)間是一個(gè)很大的比例。你們?cè)谶@個(gè)每周都舉辦的活動(dòng)中得到了什么收獲?這些收獲是否彌補(bǔ)了時(shí)間上的損失?
我們利用20%的時(shí)間創(chuàng)造了一些很多人都認(rèn)可的項(xiàng)目,其中包括web框架Pedestal,以及最初的ClojureScript實(shí)現(xiàn)。今天,我們20%時(shí)間仍然用來(lái)開(kāi)發(fā)Clojure,ClojureScript,Pedestal,以及其他一些新玩意兒,我們不久之后就會(huì)揭曉。
很長(zhǎng)時(shí)間以來(lái),我們一直都有一個(gè)習(xí)慣,就是質(zhì)疑我們對(duì)軟件開(kāi)發(fā)最基本的假設(shè),我們通過(guò)檢驗(yàn)自己的工作來(lái)找到構(gòu)造軟件更好的方法。在20%時(shí)間里我們也是這么做的。所以這項(xiàng)活動(dòng)并不是我們一直在做的一個(gè)愛(ài)好或日常工作。我們經(jīng)常要評(píng)估這樣做是否值得。
到目前為止我們覺(jué)得這項(xiàng)活動(dòng)是很有價(jià)值的。當(dāng)我們說(shuō),我們想讓軟件開(kāi)發(fā)對(duì)于每個(gè)人來(lái)說(shuō)都變得更好時(shí),我們是認(rèn)真的。我們的開(kāi)源工具就是其中的一部分。
問(wèn):你為什么要為仿真測(cè)試編寫(xiě)工具Simulant?這個(gè)項(xiàng)目的進(jìn)展如何?
雖然我經(jīng)常會(huì)提到Simulant,但是這個(gè)工具是Stuart Halloway在Rich Hickey的架構(gòu)基礎(chǔ)上寫(xiě)的。
Simulant程序庫(kù)現(xiàn)在處于穩(wěn)定狀態(tài)。我的目標(biāo)在于幫助人們成功地應(yīng)用這個(gè)工具。為此,我去年開(kāi)了一個(gè)關(guān)于Simulant的網(wǎng)絡(luò)研討會(huì)。同時(shí)我也做了一個(gè)樣本項(xiàng)目,你可以在GitHub上找到。(https://github.com/mtnygard/simulant-example)
現(xiàn)在,我在忙一個(gè)叫做“解決方案藍(lán)圖(solution blueprint)”的項(xiàng)目,無(wú)論是否用到Simulant,這個(gè)工具都可以幫助人們完成仿真測(cè)試。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://hztianpu.com/yun/11699.html
摘要:大神何愷明受到了質(zhì)疑。今天,上一位用戶對(duì)何愷明的提出質(zhì)疑,他認(rèn)為何愷明年的原始?xì)埐罹W(wǎng)絡(luò)的結(jié)果沒(méi)有被復(fù)現(xiàn),甚至何愷明本人也沒(méi)有。我認(rèn)為,的可復(fù)現(xiàn)性經(jīng)受住了時(shí)間的考驗(yàn)。 大神何愷明受到了質(zhì)疑。今天,Reddit 上一位用戶對(duì)何愷明的ResNet提出質(zhì)疑,他認(rèn)為:何愷明 2015 年的原始?xì)埐罹W(wǎng)絡(luò)的結(jié)果沒(méi)有被復(fù)現(xiàn),甚至何愷明本人也沒(méi)有。網(wǎng)友稱,他沒(méi)有發(fā)現(xiàn)任何一篇論文復(fù)現(xiàn)了原始 ResNet 網(wǎng)絡(luò)的...
摘要:是全球最大的加密貨幣交易所之一,一些市場(chǎng)觀察人士稱,在交易的代幣有助于支撐比特幣的價(jià)格。報(bào)告稱,在年月日的審計(jì)時(shí)點(diǎn)上,一家銀行以名義開(kāi)具的賬戶下?lián)碛忻涝目铐?xiàng)。截至年月底,波多黎各這類金融機(jī)構(gòu)的現(xiàn)金與總資產(chǎn)的比率迅速攀升至以上。 在追求各種類型「共識(shí)」的數(shù)字貨幣世界里,對(duì) Tether 的看法顯然很難達(dá)成共識(shí),極具爭(zhēng)議,也引人矚目。 在尋找穩(wěn)定代幣的投資者眼中,Tether 如神,是解...
摘要:作為業(yè)界更受關(guān)注的開(kāi)放平臺(tái),即將落地本土。力圖保持中立,化解外界對(duì)其公正態(tài)度的質(zhì)疑。當(dāng)然,所有好的產(chǎn)品依靠出色的團(tuán)隊(duì),擁有超一流的開(kāi)發(fā)工程師。此外,一書(shū)作者也是數(shù)一數(shù)二的人物。 作為業(yè)界更受關(guān)注的開(kāi)放PaaS平臺(tái),即將落地本土。雖然還在處在測(cè)試階段,但Cloud Foundry已經(jīng)吸引了足夠多業(yè)界和開(kāi)發(fā)者的眼球。Cloud Foundry足夠吸引么?答案是肯定的。 Cloud Foundr...
閱讀 1618·2021-09-10 11:27
閱讀 2630·2019-08-30 15:53
閱讀 1520·2019-08-30 13:10
閱讀 3092·2019-08-30 11:09
閱讀 1260·2019-08-29 17:23
閱讀 770·2019-08-29 17:05
閱讀 3055·2019-08-29 15:10
閱讀 2451·2019-08-29 13:22