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