您好,登錄后才能下訂單哦!
經(jīng)常寫業(yè)務(wù)軟件的開發(fā)會吐槽crud沒有技術(shù)含量,想學新技術(shù),但是學完新技術(shù)會發(fā)現(xiàn)又進入了crud的循環(huán)(學完mq發(fā)現(xiàn)只會發(fā)送和接收消息,學完redis發(fā)現(xiàn)只會讀寫緩存,學完zookeeper發(fā)現(xiàn)只會操作node節(jié)點)。這種現(xiàn)象產(chǎn)生的原因是什么的?因為關(guān)注點一直是邏輯,而不是存儲。而一項技術(shù)的底層和原理無非邏輯與存儲。
一個業(yè)務(wù)軟件本質(zhì)由兩個部分組成:業(yè)務(wù)數(shù)據(jù)+業(yè)務(wù)邏輯,這有點像是面向過程=數(shù)據(jù)結(jié)構(gòu)+算法,這道出了軟件開發(fā)本質(zhì)。
業(yè)務(wù)數(shù)據(jù)層本質(zhì)就是數(shù)據(jù)存儲,storage,從組成形式來說,分為內(nèi)存和磁盤,這就劃分了數(shù)據(jù)存儲技術(shù),data container,data store,data base,業(yè)務(wù)數(shù)據(jù)的價值和重要性決定了存儲的技術(shù)選型。
這里只是一種簡化認識~
業(yè)務(wù)邏輯層本質(zhì)就是對數(shù)據(jù)操作,compute,就是crud,我加一條:mapping(convert),不同層間的映射,不同系統(tǒng)間的映射。分布式的邏輯有map-reduce,fork-join。如果公司對存儲層的api封裝的足夠好,那么就可以專注于業(yè)務(wù)邏輯了。作為個人不能止步于此,作為公司要專注于業(yè)務(wù),產(chǎn)品。
很多分布式技術(shù)的應(yīng)用與選型,大多來自數(shù)據(jù)層的選型,設(shè)計一個分布式系統(tǒng)一個出發(fā)點就是存儲結(jié)構(gòu)的設(shè)計。擴縮性,高可用,高性能的難點也集中在了數(shù)據(jù)層。因為數(shù)據(jù)層有狀態(tài)。邏輯層一般無狀態(tài)的,但是具體操作可能是狀態(tài)的。擴縮很簡單,只需要增加節(jié)點。
其實crud是超越不了的,業(yè)務(wù)軟件開發(fā)本質(zhì)決定了其特性,只能增加對crud的理解。深入crud的實現(xiàn),可以深入存儲層的研究。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。