使用Cat斷斷續(xù)續(xù)將近兩周的時(shí)間,感覺它還算是很輕量級(jí)的。文檔相對(duì)來(lái)說(shuō)薄弱一些,沒有太全面的官方文檔(官方文檔大多是介紹每個(gè)名詞是什么意思,界面是什么意思,部署方面比較欠缺);但是好在有一個(gè)非?;钴S的群,群里有很多經(jīng)驗(yàn)豐富的高手,不會(huì)的問題基本都能得到解答。

下面就開始步入正題吧,本篇主要講述一下如何利用Cat進(jìn)行分布式的調(diào)用鏈追蹤。

分布式開發(fā)基礎(chǔ)

在最開始網(wǎng)站基本都是單節(jié)點(diǎn)的,由于業(yè)務(wù)逐漸發(fā)展,使用者開始增多,單節(jié)點(diǎn)已經(jīng)無(wú)法支撐了。于是開始切分系統(tǒng),把系統(tǒng)拆分成幾個(gè)獨(dú)立的模塊,模塊之間采用遠(yuǎn)程調(diào)用的方式進(jìn)行通信。

那么遠(yuǎn)程調(diào)用是如何做到的呢?下面就用最古老的RMI的方式來(lái)舉個(gè)例子吧!

RMI(Remote method invocation)是java從1.1就開始支持的功能,它支持跨進(jìn)程間的方法調(diào)用。

大體上的原理可以理解為,服務(wù)端會(huì)持續(xù)監(jiān)聽一個(gè)端口??蛻舳送ㄟ^proxy代理的方式遠(yuǎn)程調(diào)用服務(wù)端。即客戶端會(huì)把方法的參數(shù)以字符串的的方式序列化傳給服務(wù)端。服務(wù)端反序列化后調(diào)用本地的方法執(zhí)行,執(zhí)行結(jié)果再序列化返回給客戶端。

服務(wù)端的代碼可以參考如下:

        		

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式