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