有些人是完美主義者养葵,凡事都希望追求完美,然而有一句歌詞“完美并不美”瘩缆,世界真的有完美嗎港柜?我個(gè)人覺(jué)得沒(méi)有什么事是完美的,只是在一步一步朝著完美進(jìn)行演化罷了咳榜。在辭海中,進(jìn)化也被稱作演化爽锥,談到進(jìn)化涌韩,自然而然會(huì)想到達(dá)爾文的進(jìn)化論,遺傳變異氯夷,適者生存臣樱。
《人類簡(jiǎn)史》詳細(xì)介紹人類演化過(guò)程,有興趣的朋友可以閱讀一下腮考。人類主要經(jīng)歷了4個(gè)階段雇毫,猿人、原始人踩蔚、智人棚放、現(xiàn)代人,每一次進(jìn)化都是一個(gè)漫長(zhǎng)的過(guò)程馅闽,同時(shí)也是一種進(jìn)步飘蚯。為了更適合生存,學(xué)會(huì)了使用火福也,制作工具局骤,馴養(yǎng)家禽、耕種等暴凑,時(shí)代在發(fā)展峦甩,農(nóng)業(yè)革命、工業(yè)革命现喳、互聯(lián)網(wǎng)時(shí)代凯傲、移動(dòng)互聯(lián)網(wǎng)時(shí)代、人工智能時(shí)代嗦篱,一次次變革和演化泣洞,讓人類和世界高速發(fā)展。
一幢大樓默色,一個(gè)建筑一旦設(shè)計(jì)和蓋好之后球凰,結(jié)構(gòu)已基本定型狮腿,一般是很難“演化”的,除非推倒重來(lái)呕诉。但是內(nèi)部的裝修是可以不斷演化的缘厢,房子的設(shè)計(jì)、家具甩挫、都可以不斷的演化贴硫,冰箱、彩電伊者、空調(diào)英遭、音箱不斷的添置家具,沙發(fā)破舊了換一個(gè)新的亦渗,電視尺寸太小換個(gè)更大的挖诸,喜歡看電影可以安裝一個(gè)家庭影院,根據(jù)自己的個(gè)人喜好不斷的演化法精,朝著更美好的方向發(fā)展多律。當(dāng)然也要根據(jù)自己的經(jīng)濟(jì)條件進(jìn)行合適的演化,最好的不一定是最適合的搂蜓。
系統(tǒng)架構(gòu)往往也要遵從演化原則狼荞,演化過(guò)程也要遵從合適原則,一個(gè)公司初創(chuàng)帮碰,如果資源較少相味,需要簡(jiǎn)單設(shè)計(jì),快速上線殉挽,控制成本攻走。業(yè)務(wù)增長(zhǎng),當(dāng)單臺(tái)服務(wù)器不足以支撐業(yè)務(wù)需求此再,水平擴(kuò)展昔搂,增加服務(wù)器,引入負(fù)載均衡输拇,業(yè)務(wù)再增長(zhǎng)摘符,隨著機(jī)器的增加,數(shù)據(jù)庫(kù)Mysql可能會(huì)達(dá)到瓶頸策吠,可以選擇換oracle數(shù)據(jù)庫(kù)或者數(shù)據(jù)庫(kù)讀寫分離逛裤,降低主庫(kù)的壓力。下一步業(yè)務(wù)拆分猴抹,將一個(gè)大應(yīng)用拆解成多個(gè)微服務(wù)带族,數(shù)據(jù)庫(kù)也根據(jù)微服務(wù)進(jìn)行分庫(kù)。當(dāng)數(shù)據(jù)庫(kù)的性能不足以支撐當(dāng)前的用戶請(qǐng)求時(shí)蟀给,引入緩存蝙砌,前臺(tái)接口讀緩存阳堕,后臺(tái)接口訪問(wèn)數(shù)據(jù)庫(kù)。使用消息隊(duì)列择克,保持?jǐn)?shù)據(jù)庫(kù)和緩存的最終一致性恬总。如果一開(kāi)始就把系統(tǒng)設(shè)計(jì)的很復(fù)雜,不僅需要投入大量的成本肚邢,持續(xù)時(shí)間周期很長(zhǎng)壹堰,也需要更多的服務(wù)器,造成很多不必要的浪費(fèi)骡湖。微信的架構(gòu)能給上億的用戶提供服務(wù)贱纠,這肯定是一個(gè)好的架構(gòu),但不一定是適合所有公司的架構(gòu)响蕴,因?yàn)橛序v訊這樣實(shí)力的公司并不多谆焊。盡量使用開(kāi)源的技術(shù),避免重復(fù)造輪子换途。開(kāi)源的框架也有很多種,多維度評(píng)估刽射,選擇一款最適合的军拟。
每個(gè)人的人生也在不斷的演化,從出生誓禁,接受教育懈息,小學(xué)、中學(xué)摹恰、高中辫继、大學(xué),參加工作之后俗慈,從初級(jí)開(kāi)發(fā)工程師姑宽、中級(jí)、高級(jí)再向上發(fā)展項(xiàng)目管理或者架構(gòu)師闺阱。每個(gè)過(guò)程的演化都需要去選擇和付出炮车,不同的人不同的行業(yè),演化的路線可能不一樣酣溃,盡可能選擇適合自己的發(fā)展路線瘦穆。如果你熱愛(ài)技術(shù),并把技術(shù)作為終身職業(yè)赊豌,架構(gòu)師是個(gè)不錯(cuò)的選擇扛或,需要扎實(shí)的基本功,主流的開(kāi)發(fā)語(yǔ)言碘饼,常用的框架熙兔,成熟的組件悲伶,數(shù)據(jù)結(jié)構(gòu),算法黔姜,網(wǎng)絡(luò)拢切,操作系統(tǒng)等都需要花時(shí)間學(xué)習(xí)。如果你喜歡和人打交道秆吵,并有一顆愿意幫助別人的心淮椰,可以考慮項(xiàng)目管理。項(xiàng)目管理需要具備很強(qiáng)的軟技能纳寂,溝通管理能力主穗,協(xié)調(diào)能力,決策能力毙芜,管理能力忽媒。當(dāng)然也需要硬技能,軟件工程腋粥,項(xiàng)目管理晦雨,敏捷開(kāi)發(fā)等等。
想做好一件事情隘冲,如果這件事情很復(fù)雜闹瞧,可以先試用分治的思維進(jìn)行拆解。拆解之后還是很難快速百分之百完成目標(biāo)展辞,可以先完成百分之三十奥邮,下一次完成百分之五十,不斷的演化罗珍,直到完成所有的目標(biāo)洽腺。演化的好處在于中途可以感受到變化,可以有中間狀態(tài)覆旱,不是非黑即白蘸朋,就像base理論是對(duì)cap理論的進(jìn)化,強(qiáng)調(diào)的是基本可用扣唱,存在中間的軟狀態(tài)度液,保持?jǐn)?shù)據(jù)的最終一致性。
在合適原則下演化画舌,一步一步朝著好的方向發(fā)展堕担,提高自我,迎接更美好的未來(lái)曲聂,感謝您的閱讀霹购,希望對(duì)你有所幫助。