從來沒有一種技術是為了解決複用、靈活組合、定製開發的問題
很多人說:微服務的價值是複用、方便靈活組合
很多人說:PaaS平臺的價值是方便定製開發
我想說,這都什麼人傳出來的謠言。
這都是白日做夢。從來沒有一種技術是為了方便修改和定製開發
(1)微服務是怎麼來的
一、面向函式和麵向物件
1946年產生了計算機以後,由於計算能力和儲存能力限制,人們寫的程式碼有限,所以當時都是流水程式碼,一邊讀卡器讀入,另一邊電傳打字機列印出來結果。
後來計算能力(電晶體與矽晶片)和儲存能力(磁芯與磁碟)提升了,人們寫的程式碼可以更長了。為了更好地閱讀程式碼,人們把程式碼分割成了函式。
後來,大規模積體電路產生了,計算能力和儲存能力更進一步,函式也變的更多了,需要把函式也分分堆兒,於是物以類聚,物件導向程式設計產生了。
所以說:面向函式和麵向物件,主要目的是為了解決程式碼有組織性。
至於所謂的複用?你如果設計的輸入引數、輸出引數、返回值沒有精心設計好,根本不可能達到複用。
二、面向元件和麵向服務
RPC,區域網中跨伺服器的遠端過程呼叫,在1987年就由Sun公司和HP公司領導創立了。
面向元件產生於1990年。主要是為了解決跨開發語言、跨作業系統程式、跨伺服器的應用程式之間互相呼叫的問題。這裡以IBM為領導的CORBA元件體系、微軟的COM元件體系為代表。1997年,Sun公司集大家之所長,制定了J2EE標準,這也是一種面向元件的技術體系。因此有了大家熟悉的EJB。
但是,1997年也是網際網路最狂熱的時代。1999年,WebService技術產生。這樣,應用程式之間互相呼叫就不限於區域網了,更可以延伸到網際網路。因此出現了面向服務,意思就是for WebService。所謂的服務,其實特指的就是WebService。
所以說:面向元件和麵向服務,主要是為了解決應用程式之間互相呼叫的問題。
三、面向微服務和麵向函式服務
但是大家都知道,不管是元件技術棧,還是WebService技術棧,都日益複雜。
所以Spring公司創立的時候,提出的是EJB已死。
不要元件(直接JAVA類就OK)、不要元件伺服器(直接Spring程式設計框架就好),不要WebService(直接RESTful就好)。於是這就演變到了面向微服務。
2014年,AWS更提出Serverless無伺服器程式設計(函式服務),直接在雲上程式設計雲上執行,不需要操心下面的一切。
所以說:面向微服務和麵向函式服務,主要是為了簡化面向服務程式設計的複雜性。
所以,從1946年計算機技術產生,自古以來,就沒有一種技術是為了解決所謂:複用、方便靈活組合。如果你沒有高階程式設計師(技術架構師),不精心設計你的應用程式的每個介面,光靠這些函式、物件、元件、服務、微服務技術,根本不可能做到複用、方便靈活組合。
但是,恰恰的是,我國應用軟體程式設計人員,就是萬金油程式設計人員,就懂得996加班把產品經理的功能趕快實現了,根本沒有足夠多的高階程式設計師(技術架構師)去負責精心設計應用程式的每個介面。
(2)PaaS平臺
一、低程式碼開發平臺
不知道什麼原因,低程式碼開發平臺突然火起來了。而且不少人想拿低程式碼開發平臺去解決大型客戶個性化定製開發的需求。
我想這不是南轅北轍了麼?
低程式碼開發平臺,能解決的是:擴充套件開發。也就是說:新的功能模組的程式碼快速生成與編寫。
至於你老的程式碼,如何滿足一家家客戶的定製開發修改,尤其還是在現在公有云、SaaS多租戶的未來趨勢下。我想真是痴人說夢。
Salesforce都做不到現有的產品功能可以滿足一家家客戶的定製開發修改。
二、Open API開放平臺
Open API開放平臺主要解決的是:整合開發。
也就是說:你的系統,需要和客戶的系統整合在一起,如和客戶的CRM系統、財務系統、OA系統整合在一起,Open API開放平臺是必須的。
三、大資料平臺
至於查詢、搜尋、資料探勘、資料倉儲統計,以及報表、圖表視覺化展示,用大資料平臺即可。
至於主資料服務、主資料訂閱/釋出推送,用主資料管理系統即可。資料層面的整合,也主要是在主資料這塊。
也就是說,從來沒有一種平臺技術的發明,是主要為了解決大客戶個性化定製開發的問題。從1946年計算機技術產生,自古以來,就從來沒有。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69940597/viewspace-2712456/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 靈活運用分散式鎖解決資料重複插入問題分散式
- MySQL組複製MGR(一)-- 技術概述MySql
- MySQL主從複製問題解決一例MySql
- 從itpub看來的一道組合題
- 解決印象筆記中複製idea等沒有縮排的問題筆記Idea
- 開源規則引擎——ice:致力於解決靈活繁複的硬編碼問題
- BSC鏈二二複製互助合約系統開發技術方案
- 如何解決MySQL主從複製太慢的問題MySql
- MySQL高可用之組複製技術(3):配置多主模型的組複製MySql模型
- MySQL高可用之組複製技術(2):配置單主模型的組複製MySql模型
- 有魚生活系統開發(功能)丨有魚生活五五複製模式開發技術模式
- 解決IP盜用問題的三種技術手段 (轉)
- MySQL入門--MySQL複製技術之主從複製MySql
- mysql主從複製配置與問題解決MySql
- 靈活運用JavaScript開發技巧JavaScript
- 跟隨槓精的視角一起來了解Redis的主從複製Redis
- Redis 主從複製技術原理Redis
- MySQL入門--MySQL複製技術之主從從級聯複製MySql
- 為毛沒有ps技術
- 智慧合約二二複製公排系統開發技術搭建案例
- 快速上手Vue Router和組合式API:建立靈活可定製的佈局VueAPI
- 解決從VIM複製出來的程式碼格式錯亂或對齊的問題
- GOLANG介面適配,組合方式的靈活介面演化Golang
- 問題解析:Python中的變數複製備份,為什麼沒有達到效果?Python變數
- 處理Excel表格標題靈活技術二則Excel
- BSC鏈二二複製公排合約系統開發|DAPP技術搭建APP
- 簡單問題:JAVA物件的淺複製,有一個疑問!Java物件
- MySQL組複製(MGR)全解析 Part 2 常用複製技術介紹MySql
- 為什麼末世題材的遊戲裡,從來沒有自行車?遊戲
- MySQL入門--MySQL複製技術之一主多從MySql
- MySQL組複製的幾個常見問題以及解決辦法MySql
- 這樣的系統用webservice技術開發是最合適的嗎?Web
- 主從複製是啥或者主從複製的原理是什麼?
- iOS 高效靈活地配置可複用檢視元件的主題iOS元件
- MySQL入門--MySQL複製技術之部署中遇到的問題MySql
- 聊聊MySQL主從複製的幾種複製方式MySql
- 如何解決MySQL 主從複製資料不一致問題MySql
- 聯盟鏈技術開發方案定製部署