2020/4/6 (99 條訊息) 中介軟體未來會消失嗎? - 知乎 1/3
對於樓上提到了中介軟體的概念和優越性,我們還可以更大範圍的談一談,然後說說為什麼中介軟體不會消 失。 概念:廣義和狹義 中介軟體是一種獨立的系統軟體或服務程式,它是物件技術和分布式計算發展的產物。
借助中介軟體軟體在 不同的技術之間共享資源,實現應用間的互聯與操作。按照idc 的分類方法,中介軟體可分為六類。
分別 是資料訪問中介軟體、遠端過程呼叫中介軟體、訊息中介軟體、交易中介軟體、物件中介軟體等。 這個概念和定義,其實已經過時了,
現在一般認為有兩種定義:
狹義上說,處於基礎設施層的軟體與業務系統軟體中間這一層的一些軟體或者庫、框架,我們叫中介軟體, 不一定是獨立的程式。這樣就把上面提到的類似db和web server之類的軟體劃分到基礎設施層了。
狹義 的中介軟體比如快取中介軟體、資料庫中介軟體、訊息中介軟體、服務化中介軟體、交易中介軟體、排程中介軟體、整合 中介軟體等等。現在網際網路上說的一般是這幾個。
優越性:技術中臺 世界著名的諮詢機構standish group在乙份研究報告中歸納了中介軟體的十大優越性: ·
縮短應用的開發周期 ·
節約應用的開發成本 ·
減少系統初期的建設成本 ·
降低應用開發的失敗率 ·
保護已有的投資 ·
簡化應用整合 ·
減少維護費用 ·
提高應用的開發質量 ·
保證技術進步的連續性 ·
增強應用的生命力 具體地說,
中介軟體遮蔽了底層作業系統的複雜性,使程式開發人員面對乙個簡單而統一的開發環境,減 少程式設計的複雜性,將注意力集中在自己的業務上,不必再為程式在不同系統軟體上的移植而重複工 作,從而大大減少了技術上的負擔。帶給應用系統的,不只是開發的簡便、開發周期的縮短,也減少了 系統的維護、執行和管理的工作量,還減少了計算機總體費用的投入。 其次,中介軟體作為新層次的基礎 軟體,其重要作用是將不同時期、在不同作業系統上開發的應用軟體整合起來,彼此像乙個天衣無縫的 整體協調工作。中介軟體的這一作用,使得在技術不斷發展之後,我們之前在應用軟體上的勞動成果仍然 有所用,可以節約了大量的人力、財力投入。 中介軟體一方面是很多人在很多具體場景裡的最佳實踐總結,另一方面也是軟體發展的必然趨勢。 大家不斷的在重複建設業務系統,那麼這些業務系統裡一些可以復用的通用性技術,奔著復用的原則,一 定會逐步的沉澱成為一些共享的、可靠的支撐技術,這就是中介軟體。當然,按現在的時髦叫法,你也可以 叫 技術中臺。 舉個例子,現在雲原生是大趨勢,把業務系統都上雲環境是個比較典型的場景。
那麼假如公有雲的硬體和 iaas基礎設施只能提供99.9%的可用性,而我們放到雲上的交易系統or金融服務,要求是4-5個9的可用 性,怎麼辦? 有個老話說:計算機領域的任何問題都可以通過乙個中間層來解決。
乙個自然而然的辦法就是在我們的業務系統和基礎設施層之間,用一些高可用性的中介軟體來做乙個中間 層。這個中間層實現分片、複製、快速的failover和recovery等機制,從而給上層的業務系統提供乙個穩健 的基座,不管雲服務層的硬碟壞了幾塊,還是區域性網路延遲上公升5倍,我們的業務系統都能做到無感知。 為什麼用中介軟體?站在巨人肩膀上 大家可以看到,中介軟體是為了解決某一類複雜技術問題的,比如訊息中介軟體kafka、rocketmq,解決了大 量處理請求的排隊和緩衝、並且做到高效能的情況下不丟失訊息,這類通用的複雜技術常見。tddl、 shardingsphere、mycat等解決分庫分表、讀寫分離,進而提公升整個系統對於更大規模的資料讀寫的問 題。 為什麼我們要用中介軟體,而不是自己用資料庫裡的一張表去模擬mq,直接硬編碼分庫分表呢? 因為,你在重複走很多人多年來走過的路,重新去摸很多人已經摸過的石頭。完全沒必要。 為什麼推薦大家了解、學習和使用成熟的開源中介軟體?
1、每類中介軟體,都是為了解決某一類通用性的問題產生的,那麼我們了解的中介軟體種類越多,越能知道許 多方向上的通用問題解決辦法,無關是直接用,還是參考其思路舉一反三,都對我們解決問題有益。如果 了解太少,則很多現場的解決辦法就直接不在我們的視野內,讓我們一直刻舟求劍、在不少最優解的範圍 之外找辦法。
2、大規模使用過的中介軟體,已經有人踩過無數坑了,常見的問題都已經消滅掉了,如果我們自己重頭造輪 子,這些學費還是要交,周期長、穩定性差,價效比太低。就算自己造輪子,也可以在使用開源的過程 中,以開源的為基礎,站在巨人的肩膀上去創新。
一方面,不少的中介軟體或者中介軟體提供的特性能力,會不斷下沉到更基礎的層面,比如我們可以看到很多 資料庫中介軟體,融入到了分布式資料庫。
另一方面,隨著業務場景的細分和網際網路分布式技術的發展,更 多的中介軟體在各自的場景裡湧現。
就像是,最開始只有程式設計師這個職業,後來有了後端開發,前端開發, 大資料工程師,演算法工程師,區塊鏈工程師,,,
越來越多的細分領域出現自己獨特的角色。中介軟體也 是,乙個大趨勢是不同的在細分領域出現,解決一系列新的問題,然後一部分下沉到更底層的基礎設施, 然後這個過程迴圈往復,長期發展。
Nginx中介軟體使用整理
nginx是乙個高效能的 和反向 伺服器,靜態資源,服務 也是乙個imap pop3 smtp 伺服器,最出名的就是反向 簡答理解就是作用在伺服器端,大概流程 客戶端 訪問nginx的虛擬伺服器 找到真實的伺服器 在返回給客戶端 是否還需要通過nginx待驗證 背景 在外網 虛擬機器 環境下開發前端...
中介軟體 訊息中介軟體學習總結
冪等 在程式設計中.乙個冪等操作的特點是其任意多次執行所產生的影響均與一次執行的影響相同。冪等函式,或冪等方法,是指可以使用相同引數重複執行,並能獲得相同結果的函式。這些函式 不會影響系統狀態,也不用擔心重複執行會對系統造成改變。例如,getusername 和settrue 函式就是乙個冪等函式....
中介軟體作業
主要檔案的 fctrl client linux.c this is sample code generated by rpcgen.these are only templates and you can use them as a guideline for developing your ow...