小Printf的編程故事:第二章
《小Printf的編程故事》第二章:故事中的我終于和小Printf相遇了。他們之間,會發生些什么呢? - 上一章
第二章
就這樣,我開始滿世界地演講,教別人怎么去做一些有時候我自己都沒有做過的事情,不過大家似乎都相信了我是一名真正的程序員,而理由正是我做的那些與編程沒有太大關系的事。
有一天,我參加完一個會議準備回家,但卻被困在了機場。我憤怒地在終端上打字,突然聽見有一個奇怪、柔和的聲音問我:
“你能不能,為我設計一個系統?!”
“什么?!”
“為我設計一個系統!”
這樣的請求讓我吃驚,抬起頭想看看是誰提的。我看了看四周,發現有一個小孩站在不遠處。他說自己渴望成為一名開發者,還讓我叫他“Printf”。我覺得這個名字有點愚蠢、花哨。他的樣子大概是這樣的:
“我還不太懂計算機,但是你看上去是個行家。我想編寫程序,通過博客讓大家都知道,用上我寫的程序。求求你,為我設計一個系統!”
這真的是一個令人驚訝的請求,當時我已經有20個小時沒有睡覺了,有點不確定自己聽清楚了他的話。我跟他說,開發系統很困難。我不清楚他希望系統實現哪些功能,如何處理異常,應該支持多少個讀者,在哪里部署,所以在這種情況下,我沒辦法給他設計一個良好的系統。
“那個沒關系。只要給我設計一個系統就行。”
沒辦法,我給他畫了下面這個架構圖:
他看了看圖,搖頭說道:“這個系統還不夠好。再設計一個吧”。我照做了:
并給他逐一介紹了背后的原理。
我這個新朋友禮貌地笑了笑。“這并不是我想要的,它太復雜了,很多功能都不是我需要的。”
我有點不高興,我可是考慮了冗余、監控、備份、緩存、負載、外部支付、故障切換備份、快速部署等諸多因素。光是這份系統設計,我就能收一筆不小的咨詢費!終于沒了耐心,我就隨便給他畫了張圖:
然后補充道,“這就是你要的設計,你所要的系統就在那個黑盒子里”,希望這個亂七八糟的答案會讓他離我遠點。但是他的回答再次讓我感到驚訝:
“這就是我想要的設計!”
就這樣,我認識了小Printf。