這篇文章主要介紹“什么是 Dubbo”,在日常操作中,相信很多人在什么是 Dubbo問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”什么是 Dubbo”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)公司長期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為津南企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),津南網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
Apache Dubbo 是一款高性能、輕量級的開源 Java RPC 框架,它提供了三大核心能力:面向接口的遠(yuǎn)程方法調(diào)用、智能容錯(cuò)和負(fù)載均衡,以及服務(wù)自動(dòng)注冊和發(fā)現(xiàn)。Dubbo 是一個(gè)分布式服務(wù)框架,致力于提供高性能和透明化 RPC 遠(yuǎn)程服務(wù)調(diào)用方案,以及 SOA 服務(wù)治理方案。
RPC(Remote Procedure Call) 遠(yuǎn)程過程調(diào)用。它是一種通過網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序請求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。 兩個(gè)不同服務(wù) A、B 分別部署在兩臺(tái)不同的機(jī)器上,那么服務(wù) A 想要調(diào)用服務(wù) B 中的某個(gè)方法,使用 HTTP 請求當(dāng)然可以,但是會(huì)比較慢而且一些優(yōu)化做得不好,也不安全。RPC 的出現(xiàn)就是為了解決這個(gè)問題。
從以下兩點(diǎn)回答:
Dubbo 的定義
RPC 相對于 HTTP 的優(yōu)勢
SOA 面向服務(wù)的架構(gòu)(Service Oriented Architecture),也就是把工程按照業(yè)務(wù)邏輯拆分成服務(wù)層和表現(xiàn)層兩個(gè)工程。服務(wù)層中包含業(yè)務(wù)邏輯,只需要對外提供服務(wù)即可。表現(xiàn)層只需要處理和頁面的交互,業(yè)務(wù)邏輯都是調(diào)用服務(wù)層的服務(wù)來實(shí)現(xiàn)。SOA 架構(gòu)中有兩個(gè)主要角色:服務(wù)提供者(Provider)和服務(wù)使用者(Consumer)。
Dubbo 的四個(gè)特性:
負(fù)載均衡:同一個(gè)服務(wù)部署在不同的機(jī)器時(shí)該調(diào)用哪一臺(tái)機(jī)器上的服務(wù)
服務(wù)調(diào)用鏈路生成:隨著系統(tǒng)發(fā)展,服務(wù)越來越多,服務(wù)間依賴關(guān)系錯(cuò)綜復(fù)雜,甚至分不清哪個(gè)應(yīng)用要在哪個(gè)應(yīng)用之前啟動(dòng),架構(gòu)師都不能完整描述應(yīng)用的架構(gòu)關(guān)系。Dubbo 可以為我們解決服務(wù)之間互相是如何調(diào)用的。
服務(wù)訪問壓力以及時(shí)長統(tǒng)計(jì)、資源調(diào)度和治理:基于訪問壓力實(shí)時(shí)管理集群容量,提高集群訪問率。
服務(wù)降級:某個(gè)服務(wù)掛掉之后調(diào)用備用服務(wù)。
SOA 分布式重要的就是面向服務(wù),簡單點(diǎn)說就是把整個(gè)系統(tǒng)拆分成不同的服務(wù),將這些服務(wù)放在不同的服務(wù)器上減輕單體服務(wù)的壓力提高并發(fā)量和性能。比如電商系統(tǒng)可以簡單地拆分程訂單系統(tǒng)、商品系統(tǒng)、登陸系統(tǒng)等等,部署在不同機(jī)器上,如果某個(gè)服務(wù)訪問量比較大的話,還可以將這個(gè)服務(wù)同時(shí)部署在多臺(tái)機(jī)器上。
從開發(fā)角度來講單體應(yīng)用的代碼集中在一起,而分布式系統(tǒng)的代碼根據(jù)業(yè)務(wù)被拆分。每個(gè)團(tuán)隊(duì)負(fù)責(zé)一個(gè)服務(wù)的開發(fā),提升了開發(fā)效率。另外,代碼根據(jù)業(yè)務(wù)拆分之后便于維護(hù)和擴(kuò)展。
將系統(tǒng)拆分成分布式之后不光便于系統(tǒng)的維護(hù)和擴(kuò)展,更能提升整個(gè)系統(tǒng)的性能。把整個(gè)系統(tǒng)拆分成不同的服務(wù),然后每個(gè)服務(wù)單獨(dú)地部署在一臺(tái)服務(wù)器上,是不是很大程度上提高了性能?
到此,關(guān)于“什么是 Dubbo”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!