成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

基于Netty實(shí)現(xiàn)的輕量級(jí)分布式服務(wù)框架

Dogee / 3288人閱讀

摘要:對(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
如果感覺(jué)Pudding對(duì)你有幫助可以順手點(diǎn)個(gè)Star哦......哈哈
直接看一下示例代碼吧 第一步: 啟動(dòng)注冊(cè)中心
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

相關(guān)文章

  • Java 程序員必備 15 個(gè)框架,前 3 個(gè)地位無(wú)可動(dòng)搖!

    摘要:官網(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ā)程序員必須需要熟悉哪些框架呢? 今天...

    galaxy_robot 評(píng)論0 收藏0
  • 后端好書(shū)閱讀與推薦(續(xù)三)

    摘要:后端好書(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ū)的...

    lauren_liuling 評(píng)論0 收藏0
  • 后端好書(shū)閱讀與推薦(續(xù)三)

    摘要:后端好書(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ū)的...

    ckllj 評(píng)論0 收藏0
  • 后端好書(shū)閱讀與推薦(續(xù)三)

    摘要:后端好書(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ū)的...

    jcc 評(píng)論0 收藏0
  • dubbo源碼解析(一)Hello,Dubbo

    摘要:英文全名為,也叫遠(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...

    evin2016 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Dogee

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<