(一)舉例說明:
? ? ? 我開了一家炸雞店(業務端),然而周邊有太多屠雞場(底層),為了成本我肯定想一個個比價,再綜合質量挑選一家屠雞場合作(適配不同底層邏輯)。由于市場變化,合作一段時間后,或許性價比最高的屠雞場就不是我最開始選的了,我又要重新和另一家屠雞場合作,進貨方式、交易方式等等全都要重來一套(重新適配)。然而我只想好好做炸雞,有性價比高的肉送來就行。于是我找到了一個專門整合屠雞場資源的第三方代理(中間件),跟他談好價格和質量后(統一接口),從今天開始,我就只需要給代理錢,然后拿肉就行。代理負責保證肉的質量,至于如何根據實際性價比,選擇不同的屠雞場,那就是代理做的事了。總而言之即為:將具體業務和底層邏輯解耦的組件。
?(二)? 定義說明:
? ? ? ?從廣義上來說:操作系統上,業務系統下與業務無關的 ,都是中間件。包括數據庫,離線等,當然實際上不會這么分。 不過利用這個講法應該能夠更容易的去理解中間件是什么。中間件就是:非業務的技術類組件。
阿里的中間件主要就包含這么幾個:
分布式關系型數據庫DRDS_水平拆分 做數據庫擴展性的。
消息隊列_云消息 做消息的MOM。
企業級分布式應用服務EDAS_企業云計算解決方案 做分布式服務的。
還有一些其他的中間件,比如JstormT , 配置服務緩存 等等,也都會放在中間件里。