自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一起玩Dubbo,先入個門

開發(fā) 架構(gòu)
因為dubbo框架比較大,所以打算寫成一個系列,想學(xué)dubbo的可以關(guān)注我,后續(xù)應(yīng)該會拓展講講我們公司基礎(chǔ)框架的RPC和服務(wù)化的設(shè)計,有興趣討論的也可以找我。

 [[399195]]

本文轉(zhuǎn)載自微信公眾號「飯談編程」,作者稀飯下雪。轉(zhuǎn)載本文請聯(lián)系飯談編程公眾號。

為啥玩dubbo

先說個大前提,我們公司的游戲一直是單服模式,隨著游戲生命周期的延伸,后續(xù)都會出現(xiàn)多種跨服功能,在以前,跨服功能的開發(fā)都得基于netty,通過跨服協(xié)議通知到遠程服觸發(fā)相應(yīng)邏輯,基本跨服功能開發(fā)所占用的時長是本服功能開發(fā)的三倍左右,開發(fā)效率是比較低的。

為了解決跨服功能開發(fā)效率低的問題,我最近奉命搞RPC和服務(wù)化,所以研究了下dubbo,基本上是將dubbo里里外外艸了一遍,比較熟悉了,公司項目RPC和服務(wù)化的基礎(chǔ)也搭的差不多了,沒猜錯的話,后續(xù)就是給同事們分享下dubbo的表和里,反正也是要分享的, 先寫個教程先好了,到時候可以直接發(fā)給他們看。

因為dubbo框架比較大,所以打算寫成一個系列,想學(xué)dubbo的可以關(guān)注我,后續(xù)應(yīng)該會拓展講講我們公司基礎(chǔ)框架的RPC和服務(wù)化的設(shè)計,有興趣討論的也可以找我。

說個好笑的事情,剛開始接觸dubbo的時候,發(fā)音都是嘟波,還和同事們爭執(zhí)了下,最終查了下,發(fā)現(xiàn)是達波。

該篇文章是dubbo文章的第一篇,先教大家將dubbo跑起來,別以為只是啟動那么簡單,還是挺多步驟的,包括啟動注冊中心、后臺啟動等多個步驟,有興趣學(xué)dubbo的跟著玩起來吧!

dubbo結(jié)構(gòu)如何

 

Provider: 暴露服務(wù)的服務(wù)提供方,其實就是一個提供了服務(wù)的服。

Consumer: 調(diào)用遠程服務(wù)的服務(wù)消費方,也就是服務(wù)的調(diào)用方。

Registry: 服務(wù)注冊與發(fā)現(xiàn)的注冊中心,服務(wù)的調(diào)用方和注冊方溝通的渠道、

Monitor: 統(tǒng)計服務(wù)的調(diào)用次調(diào)和調(diào)用時間的監(jiān)控中心。

Container: 服務(wù)容器,其實沒必要抽出的概念。

簡單說下調(diào)用關(guān)系:

  • 服務(wù)容器負責(zé)啟動,加載,運行服務(wù)提供者。
  • 服務(wù)提供者在啟動時,向注冊中心注冊自己提供的服務(wù)。
  • 服務(wù)消費者在啟動時,向注冊中心訂閱自己所需的服務(wù)。
  • 注冊中心返回服務(wù)提供者地址列表給消費者,如果有變更,注冊中心將基于長連接推送變更數(shù)據(jù)給消費者。
  • 服務(wù)消費者,從提供者地址列表中,基于負載均衡算法,選一臺提供者進行調(diào)用。
  • 服務(wù)消費者和提供者,在內(nèi)存中累計調(diào)用次數(shù)和調(diào)用時間,定時發(fā)送統(tǒng)計數(shù)據(jù)到監(jiān)控中心。

將注冊中心跑起來

Zookeeper是啥

注冊中心有多種,這里選擇了Zookeeper,大概描述下Zookeeper,它是一個分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個開源的實現(xiàn),是Hadoop和Hbase的重要組件。

作為一個為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護、名字服務(wù)、分布式同步、組服務(wù)等。

Zookeeper注冊中心能自動刪除提供者信息,當(dāng)提供者重啟時,能自動恢復(fù)注冊數(shù)據(jù)。

部署Zookeeper

步驟1:

官網(wǎng)可下載:http://www.apache.org/dyn/closer.cgi/zookeeper/

步驟2:

下載后解壓,Zookeeper 的配置文件在 conf 目錄下,有 zoo_sample.cfg 和 log4j.properties,將zoo_sample.cfg 重命名成zoo.cfg,因為 Zookeeper 在啟動時會找這個文件作為默認配置文件。

說說zoo.cfg文件里面幾個重要的配置

  • tickTime:這個時間是作為 Zookeeper 服務(wù)器之間或客戶端與服務(wù)器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發(fā)送一個心跳。
  • dataDir:顧名思義就是 Zookeeper 保存數(shù)據(jù)的目錄,默認情況下,Zookeeper 將寫數(shù)據(jù)的日志文件也保存在這個目錄里。
  • clientPort:這個端口就是客戶端連接 Zookeeper 服務(wù)器的端口,Zookeeper 會監(jiān)聽這個端口,接受客戶端的訪問請求。

步驟3:

運行Zookeeper ,啟動Zookeeper目錄下bin下的zkServer.cmd

啟動之后一直開著,不要關(guān)掉這個cmd,記得要在dubbo消費者和提供者運行之前就開啟Zookeeper。

運行成功后是這樣的

將管理后臺跑起來

dubbo-admin是啥

dubbo-admin是dubbo框架的管理后臺,可以對注冊的服務(wù)(provider)和服務(wù)調(diào)用方(comsumer)進行服務(wù)治理,包括路由、監(jiān)控、配置等功能;

dubbo一般都是使用Zookeeper來進行管理服務(wù)注冊,而dubbo-admin查看注冊了哪些服務(wù),因為查看服務(wù)需要從Zookeeper上查詢的,所以dubbo-admin需要依賴于Zookeeper;

安裝dubbo-admin

步驟1:

下載dubbo-admin工程源碼,地址 https://github.com/apache/dubbo-admin

步驟2:

使用idea打開該工程,啟動入口類

步驟3:

啟動后,默認訪問 http://localhost:7001/

賬號和密碼都輸入root即可進入

最終可以看到該管理頁面。

將dubbo服務(wù)跑起來

步驟1:

從github上clone工程源碼 https://github.com/apache/dubbo 到本地

使用Idea導(dǎo)入源碼,并切換到3.0版本

安裝下各種依賴

步驟2:

看dubbo-demo模塊,直接看xml模塊,內(nèi)部提供了consumer和provider的測試用例

xml模塊中,consumer和provider模塊中resources底下都有個xml配置,描述了服務(wù)暴露和服務(wù)訂閱的相關(guān)詳情。

服務(wù)注冊方

服務(wù)訂閱方

直接啟動對應(yīng)的Application,啟動成功后應(yīng)該可以看到RPC相關(guān)調(diào)用的日志了。

啟動提供方

啟動訂閱方

通過程序可以看出,在訂閱方一直不斷的去調(diào)用提供方的服務(wù)

步驟3:

查看admin后臺,可以看到

admin后臺已經(jīng)有了相關(guān)記錄,這個時候我們便可以通過admin后臺進行服務(wù)的治理了。

總結(jié)

dubbo目前就這樣跑起來了,相信看完應(yīng)該都會心里留了幾個疑問,比如訂閱方是怎么找到注冊方的,admin后臺修改后怎么通知到訂閱方和注冊方的,訂閱方又是如何實現(xiàn)遠程方法調(diào)用的,別急,關(guān)注我,下篇文章將從源碼分析dubbo,為你解開一個個疑惑。

責(zé)任編輯:武曉燕 來源: 飯談編程
相關(guān)推薦

2021-07-19 07:31:08

服務(wù)調(diào)用Dubbo

2021-06-01 08:29:08

dubbo線程池服務(wù)暴露

2021-08-27 07:06:09

DubboDocker技術(shù)

2023-06-28 07:49:02

2013-11-21 10:52:34

NVIDIAIBM超級計算機

2012-11-08 17:33:53

智慧云

2021-10-20 16:13:05

鴻蒙HarmonyOS應(yīng)用

2011-09-07 22:59:07

聯(lián)想一體機

2012-06-01 10:39:06

天翼空間Windows Pho

2023-04-11 07:48:32

WebGLCanvas

2015-11-12 10:23:35

5G物聯(lián)網(wǎng)

2022-11-29 16:35:02

Tetris鴻蒙

2022-12-02 14:20:09

Tetris鴻蒙

2024-08-29 09:18:55

2022-09-27 16:03:51

羊了個羊鴻蒙

2016-06-16 16:34:05

VR

2012-05-14 09:04:05

諾基亞Lumia

2022-11-14 17:01:34

游戲開發(fā)畫布功能

2023-03-30 09:32:27

2014-10-21 15:07:04

點贊
收藏

51CTO技術(shù)棧公眾號