dubbo本質(zhì):一個(gè)Jar套件,一個(gè)分散式框架,,一個(gè)遠(yuǎn)端服務(wù)呼叫的分散式框架。
一、dubbo是什麼?
1)既然是新手教學(xué),肯定很多同學(xué)不明白什麼是分散式和遠(yuǎn)端服務(wù)調(diào)用,為什麼要分散式,為什麼要遠(yuǎn)端調(diào)用。我簡(jiǎn)單畫個(gè)對(duì)比圖說(shuō)明(圖1看到圖2。畫板畫的,勿噴)。
你想一下,以前什麼的都在一個(gè)伺服器上,呼叫方法直接就自然而然地呼叫了,沒(méi)啥問(wèn)題。現(xiàn)在因?yàn)樾枨笤龆嗖鸱至诉@麼多,部署在不同的伺服器上,那是不是相對(duì)以前都在一個(gè)伺服器上,現(xiàn)在分散式後,web層呼叫service層的服務(wù)變成了遠(yuǎn)端呼叫?那怎麼像以前一樣都在一個(gè)伺服器上自然而然地呼叫方法呢? dubbo來(lái)解決。這就是下面dubbo的好處。
二、Dubbo的好處?
1.透明化的遠(yuǎn)端方法調(diào)用,就像調(diào)用本地方法一樣調(diào)用遠(yuǎn)端方法,只需簡(jiǎn)單配置,沒(méi)有任何API侵入。
2.軟負(fù)載平衡及容錯(cuò)機(jī)制,可在內(nèi)網(wǎng)取代F5等硬體負(fù)載平衡器,降低成本,減少單點(diǎn)。
3. 服務(wù)自動(dòng)註冊(cè)與發(fā)現(xiàn),不再需要寫死服務(wù)提供者位址,註冊(cè)中心基於介面名稱查詢服務(wù)提供者的IP位址,並且能夠平滑新增或刪除服務(wù)提供者。 (下面講解)
Dubbo採(cǎi)用全Spring配置方式,透明化接入應(yīng)用,對(duì)應(yīng)用沒(méi)有任何API侵入,只需用Spring加載Dubbo的配置即可,Dubbo基於Spring的Schema擴(kuò)展進(jìn)行加載。
?
三、dubbo架構(gòu)圖如下:
在講解他的架構(gòu)圖之前,我們先普及下幾個(gè)概念。
節(jié)點(diǎn)角色說(shuō)明:
Provider(生產(chǎn)者): 暴露服務(wù)的服務(wù)提供者。
Consumer(消費(fèi)者): 呼叫遠(yuǎn)端服務(wù)的服務(wù)消費(fèi)方。
如圖,我們可以簡(jiǎn)單理解為web1234需要呼叫service1234的服務(wù),所以web1234是消費(fèi)者,service1234是生產(chǎn)者。
那如果按照上面,消費(fèi)者呼叫生產(chǎn)者的服務(wù),那是不是如下圖:
你看暈不暈?暈不暈?暈不暈?反正我是暈了,萬(wàn)一分散式得更多呢? ,所以我們需要他:
Registry(註冊(cè)中心): 服務(wù)註冊(cè)與發(fā)現(xiàn)的註冊(cè)中心。 dubbo推薦的是zookeeper。什麼是zookeeper? zookeeper是用於分散式中一致性處理的框架。更多的可以查看我之前的文章:這麼說(shuō)吧,zookeeper 很簡(jiǎn)單,其實(shí)就是個(gè)框架,是一致性處理用的。簡(jiǎn)單的講,zookeeper就是個(gè)中介,賣樓的(生產(chǎn)者)把樓盤資訊放在中介(註冊(cè)中心)那裡,想買樓的(消費(fèi)者)去中介那裡取得樓盤資源清單。於是,我們的圖變成了這樣:
是不是好很多了?還不夠, 我們還需要個(gè)監(jiān)控中心(幹嘛用的?當(dāng)然是監(jiān)控用的,呼叫失敗怎麼辦?掛了怎麼辦?): Monitor: 統(tǒng)計(jì)服務(wù)的呼叫次調(diào)和呼叫時(shí)間的監(jiān)控中心。 (不畫圖了)
然後,Provider放在容器裡運(yùn)行,就叫做Container服務(wù)運(yùn)行容器。 (不畫圖了)
最終dubbo架構(gòu),如圖(從0開(kāi)始看起):
相關(guān)推薦:
淘寶Amoeba架構(gòu)MySQL分散式資料庫(kù)環(huán)境_MySQL
#日均百萬(wàn)PV架構(gòu)第四彈(分散式監(jiān)控)_MySQL
#以上是Dubbo+zokeeper基礎(chǔ)講解的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

本文來(lái)寫個(gè)詳細(xì)的例子來(lái)說(shuō)下dubbo+nacos+Spring Boot開(kāi)發(fā)實(shí)戰(zhàn)。本文不會(huì)講述太多的理論的知識(shí),會(huì)寫一個(gè)最簡(jiǎn)單的例子來(lái)說(shuō)明dubbo如何與nacos整合,快速建構(gòu)開(kāi)發(fā)環(huán)境。

前言在介紹Dubbo之前先了解基本概念:Dubbo是一個(gè)RPC框架,RPC,即RemoteProcedureCall(遠(yuǎn)端過(guò)程調(diào)用),相對(duì)的就是本地過(guò)程調(diào)用,在分散式架構(gòu)之前的單體應(yīng)用架構(gòu)和垂直應(yīng)用架構(gòu)運(yùn)用的都是本地過(guò)程呼叫。它允許程式呼叫另一個(gè)位址空間(通常是網(wǎng)路共享的另一臺(tái)機(jī)器)的過(guò)程或函數(shù),並且不用程式設(shè)計(jì)師明確編碼這個(gè)遠(yuǎn)端呼叫的細(xì)節(jié)。而分散式架構(gòu)應(yīng)用與應(yīng)用之間的遠(yuǎn)端呼叫就需要RPC框架來(lái)做,目的就是為了讓遠(yuǎn)端呼叫像本地呼叫一樣簡(jiǎn)單。 Dubbo框架有以下部件Consumer即調(diào)用遠(yuǎn)端服

[[443126]]先說(shuō)兩句我常常在散步時(shí)思考很多技術(shù)上的「為什麼問(wèn)題」,有時(shí)一個(gè)問(wèn)題會(huì)想很久,直到問(wèn)題的每一個(gè)點(diǎn)都能說(shuō)服自己時(shí),才算完結(jié)。於是想把這些思考記錄下來(lái),形成文章,可以當(dāng)作一個(gè)新的系列。這些文章中你可能看不到程式碼,但能窺探一些容易被忽略的問(wèn)題,以及問(wèn)題更深層的「為什麼」。今天帶來(lái)第1篇,Dubbo為什麼要用Go重寫?誕生於阿里巴巴,2011年開(kāi)源的Dubbo已經(jīng)走過(guò)了10個(gè)年頭。在2019年,它被用Go重寫並開(kāi)源,如今兩年過(guò)去,已經(jīng)從當(dāng)初的V1.0.0版本發(fā)展到了V3.0.0,截

如果你已經(jīng)對(duì)Dubbo熟練使用了,那這篇文章不太適合你,但如果想了解Dubbo,想學(xué)習(xí)Dubbo,那就非常適合你。

dockerpullzookeeperdockerrun--namezk01-p2181:2181--restartalways-d2e30cac00aca顯示zookeeper已成功啟動(dòng)Zookeeper和Dubbo?ZooKeeperZooKeeper是一個(gè)分散式的,開(kāi)放原始碼的分散式應(yīng)用程式協(xié)調(diào)。它是一個(gè)為分散式應(yīng)用提供一致性服務(wù)的軟體,提供的功能包括:配置維護(hù)、網(wǎng)域服務(wù)、分散式同步、群組服務(wù)等。 DubboDubbo是Alibaba開(kāi)源的分散式服務(wù)框架,它最大的特色是按照分層的方式來(lái)架構(gòu),

簡(jiǎn)介Dubbo是阿里巴巴公司開(kāi)源的一個(gè)高效能優(yōu)秀的服務(wù)框架,使得應(yīng)用可透過(guò)高效能的RPC實(shí)現(xiàn)服務(wù)的輸出和輸入功能,可以和Spring框架無(wú)縫整合。它提供了三大核心能力:面向介面的遠(yuǎn)端方法調(diào)用,智慧容錯(cuò)和負(fù)載平衡,以及服務(wù)自動(dòng)註冊(cè)和發(fā)現(xiàn)。概述2020年06月23日,ApacheDubbo官方發(fā)布了ApacheDubbo遠(yuǎn)端程式碼執(zhí)行的風(fēng)險(xiǎn)通告,該漏洞編號(hào)為CVE-2020-1948,漏洞等級(jí):高風(fēng)險(xiǎn)。 ApacheDubbo是一款高效能、輕量級(jí)的開(kāi)源JavaRPC框架,它提供了三大核心能力:面向介面的遠(yuǎn)

dubbo原理與機(jī)制的解釋:1、核心元件;2、通訊原理;3、叢集容錯(cuò);4、自動(dòng)發(fā)現(xiàn)與註冊(cè);5、負(fù)載平衡與路由;6、序列化與傳輸;7、監(jiān)控與日誌;8 、擴(kuò)展性;9、安全性;10、與Spring整合;11、與其他技術(shù)的整合。詳細(xì)介紹:1、核心元件,包括註冊(cè)中心、監(jiān)控中心、服務(wù)消費(fèi)者和服務(wù)提供者;2、通訊原理,Dubbo使用網(wǎng)路通訊框架進(jìn)行服務(wù)調(diào)用,它提供了對(duì)多種基於長(zhǎng)連接等等。

一、Dubbo調(diào)用關(guān)係說(shuō)明1.1組成部分在這裡主要由四部分組成:●Provider:暴露服務(wù)的服務(wù)提供方Protocol:負(fù)責(zé)提供者和消費(fèi)者之間的協(xié)議交互數(shù)據(jù)Service:真實(shí)的業(yè)務(wù)服務(wù)信息,可以理解成介面與實(shí)作Container:Dubbo的運(yùn)作環(huán)境●Consumer:呼叫遠(yuǎn)端服務(wù)的服務(wù)消費(fèi)者Protocol:負(fù)責(zé)提供者與消費(fèi)者之間的協(xié)定互動(dòng)資料Cluster:感知提供者端的清單資訊Proxy:可以理解成提供者的服務(wù)呼叫代理,由它接管Consumer中的介面呼叫邏輯●Register:註冊(cè)中
