摘要:對(duì)分布式技術(shù)比較感興趣,于是在閑暇時(shí)間寫(xiě)了一個(gè)簡(jiǎn)單的框架娛樂(lè)一下,項(xiàng)目持續(xù)更新中項(xiàng)目地址如果感覺(jué)對(duì)你有幫助可以順手點(diǎn)個(gè)哦哈哈直接看一下示例代碼吧第一步啟動(dòng)注冊(cè)中心創(chuàng)建服務(wù)注冊(cè)中心啟動(dòng)注冊(cè)中心第二步啟動(dòng)服務(wù)提供者創(chuàng)建服務(wù)提供者和服務(wù)包裝器連接
對(duì)分布式技術(shù)比較感興趣,于是在閑暇時(shí)間寫(xiě)了一個(gè)簡(jiǎn)單的RPC框架娛樂(lè)一下,項(xiàng)目持續(xù)更新中...... GitHub項(xiàng)目地址: Pudding
public class RegistryTest { public static void main(String[] args) { // 創(chuàng)建服務(wù)注冊(cè)中心 ServiceRegistry registry = new DefaultServiceRegistry(); // 啟動(dòng)注冊(cè)中心 registry.startRegistry(20000); } }第二步: 啟動(dòng)服務(wù)提供者
public class ProviderTest { public static void main(String[] args) { // 創(chuàng)建服務(wù)提供者和服務(wù)包裝器 ServiceProvider provider = new DefaultServiceProvider(); ServiceWrapper serviceWrapper = new DefaultServiceWrapper(); // 連接注冊(cè)中心 provider.connectRegistry("127.0.0.1:20000"); // 創(chuàng)建服務(wù) MyService myService = new MyServiceImpl(); // 包裝服務(wù)為ServiceMeta Service service = serviceWrapper.build(myService, "127.0.0.1:30001"); // 啟用服務(wù) provider.startService(service); // 發(fā)布所有已啟用的服務(wù) provider.publishAllService(); } }第三步: 啟動(dòng)服務(wù)消費(fèi)者 同步調(diào)用
public class SyncConsumerTest { public static void main(String[] args) { // 創(chuàng)建服務(wù)消費(fèi)者 ServiceConsumer serviceConsumer = new DefaultServiceConsumer(); // 連接注冊(cè)中心 serviceConsumer.connectRegistry("127.0.0.1:20000"); // 訂閱服務(wù) serviceConsumer.subscribeService(MyService.class); // 創(chuàng)建同步服務(wù)代理 MyService myService = ProxyFactory.createSyncProxy(MyService.class); try { // 發(fā)起調(diào)用 int result = myService.add(100, 200); System.out.println("調(diào)用結(jié)果: " + result); } catch (InvokeTimeoutException e) { System.out.println("遠(yuǎn)程調(diào)用超時(shí)"); } catch (InvokeFailedException e) { System.out.println("遠(yuǎn)程調(diào)用失敗"); } } }異步調(diào)用
public class AsyncConsumerTest { public static void main(String[] args) { // 創(chuàng)建服務(wù)消費(fèi)者 ServiceConsumer serviceConsumer = new DefaultServiceConsumer(); // 連接注冊(cè)中心 serviceConsumer.connectRegistry("127.0.0.1:20000"); // 訂閱服務(wù) serviceConsumer.subscribeService(MyService.class); // 創(chuàng)建同步服務(wù)代理 MyService myService = ProxyFactory.createAsyncProxy(MyService.class); // 發(fā)起調(diào)用 myService.add(100, 200); // 監(jiān)聽(tīng)調(diào)用結(jié)果 InvokeFuture.addInvokeFutureListener(new InvokeFutureListener() { @Override public void success(Integer result) { System.out.println("調(diào)用結(jié)果: " + result); } @Override public void failure(Exception e) { e.printStackTrace(); } }); } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/66932.html
摘要:官網(wǎng)源碼推薦從開(kāi)始手寫(xiě)一個(gè)框架更多請(qǐng)?jiān)诩夹g(shù)棧微信公眾號(hào)后臺(tái)回復(fù)關(guān)鍵字。是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)進(jìn)行了非常輕量級(jí)的對(duì)象封裝,它將與數(shù)據(jù)庫(kù)表建立映射關(guān)系,是一個(gè)全自動(dòng)的框架。 Java 程序員方向太多,且不說(shuō)移動(dòng)開(kāi)發(fā)、大數(shù)據(jù)、區(qū)塊鏈、人工智能這些,大部分 Java 程序員都是 Java Web/后端開(kāi)發(fā)。那作為一名 Java Web 開(kāi)發(fā)程序員必須需要熟悉哪些框架呢? 今天...
摘要:后端好書(shū)閱讀與推薦系列文章后端好書(shū)閱讀與推薦后端好書(shū)閱讀與推薦續(xù)后端好書(shū)閱讀與推薦續(xù)二后端好書(shū)閱讀與推薦續(xù)三這里依然記錄一下每本書(shū)的亮點(diǎn)與自己讀書(shū)心得和體會(huì),分享并求拍磚。然后又請(qǐng)求封鎖,當(dāng)釋放了上的封鎖之后,系統(tǒng)又批準(zhǔn)了的請(qǐng)求一直等待。 后端好書(shū)閱讀與推薦系列文章:后端好書(shū)閱讀與推薦后端好書(shū)閱讀與推薦(續(xù))后端好書(shū)閱讀與推薦(續(xù)二)后端好書(shū)閱讀與推薦(續(xù)三) 這里依然記錄一下每本書(shū)的...
摘要:后端好書(shū)閱讀與推薦系列文章后端好書(shū)閱讀與推薦后端好書(shū)閱讀與推薦續(xù)后端好書(shū)閱讀與推薦續(xù)二后端好書(shū)閱讀與推薦續(xù)三這里依然記錄一下每本書(shū)的亮點(diǎn)與自己讀書(shū)心得和體會(huì),分享并求拍磚。然后又請(qǐng)求封鎖,當(dāng)釋放了上的封鎖之后,系統(tǒng)又批準(zhǔn)了的請(qǐng)求一直等待。 后端好書(shū)閱讀與推薦系列文章:后端好書(shū)閱讀與推薦后端好書(shū)閱讀與推薦(續(xù))后端好書(shū)閱讀與推薦(續(xù)二)后端好書(shū)閱讀與推薦(續(xù)三) 這里依然記錄一下每本書(shū)的...
摘要:后端好書(shū)閱讀與推薦系列文章后端好書(shū)閱讀與推薦后端好書(shū)閱讀與推薦續(xù)后端好書(shū)閱讀與推薦續(xù)二后端好書(shū)閱讀與推薦續(xù)三這里依然記錄一下每本書(shū)的亮點(diǎn)與自己讀書(shū)心得和體會(huì),分享并求拍磚。然后又請(qǐng)求封鎖,當(dāng)釋放了上的封鎖之后,系統(tǒng)又批準(zhǔn)了的請(qǐng)求一直等待。 后端好書(shū)閱讀與推薦系列文章:后端好書(shū)閱讀與推薦后端好書(shū)閱讀與推薦(續(xù))后端好書(shū)閱讀與推薦(續(xù)二)后端好書(shū)閱讀與推薦(續(xù)三) 這里依然記錄一下每本書(shū)的...
摘要:英文全名為,也叫遠(yuǎn)程過(guò)程調(diào)用,其實(shí)就是一個(gè)計(jì)算機(jī)通信協(xié)議,它是一種通過(guò)網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求服務(wù)而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。 Hello,Dubbo 你好,dubbo,初次見(jiàn)面,我想和你交個(gè)朋友。 Dubbo你到底是什么? 先給出一套官方的說(shuō)法:Apache Dubbo是一款高性能、輕量級(jí)基于Java的RPC開(kāi)源框架。 那么什么是RPC? 文檔地址:http://dubbo.a...
閱讀 1878·2023-04-26 01:58
閱讀 1997·2019-08-30 11:26
閱讀 2739·2019-08-29 12:51
閱讀 3508·2019-08-29 11:11
閱讀 1193·2019-08-26 11:54
閱讀 2109·2019-08-26 11:48
閱讀 3493·2019-08-26 10:23
閱讀 2394·2019-08-23 18:30