91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SocketD協議單鏈接雙向RPC模式怎么實現

發布時間:2021-12-21 14:16:03 來源:億速云 閱讀:128 作者:iii 欄目:云計算

本篇內容介紹了“SocketD協議單鏈接雙向RPC模式怎么實現”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

SocketD 是一種二進制的點對點通信協議,是一種新的網絡通信第七層協議。旨在用于分布式應用程序中。從這個意義上講,SocketD可以是RSocket等其他類似協議的替代方案。它的消息協議規范具有異步,背壓的雙向,多路復用,斷線重連,基于消息等特性。暫時只提供Java實現,目前做為Solon rpc的sockte通道協議。

本案以單鏈接雙向RPC模式為例演示:(在RPC調用模式基礎上,增加服務端反向接口調用)

接口定義

Rpc 模式借用了 Nami 做客戶端定義(Nami 是 Solon 伴生框架,定位為 Rpc 通用客戶端)

@NamiClient("demo:/demoe/rpc")
public interface HelloService {
    String hello(String name);
}

@NamiClient("demo:/demoe/rpc/name")
public interface NameService {
    String name(String name);
}

服務端

//啟動服務端
public class ServerApp {
    public static void main(String[] args) {
        //啟動Solon容器(SocketD bean&plugin 由solon容器管理)
        Solon.start(ServerApp.class, args, app -> app.enableSocketD(true));
    }
}

//定義遠程服務組件(供客戶端調用)
@Mapping(value = "/demoe/rpc", method = MethodType.SOCKET)
@Component(remoting = true)
public class HelloServiceImpl implements HelloService {
    public String hello(String name) {
        //[服務端] 反向調用 [客戶端] 的遠程服務組件***
        NameService rpc = SocketD.create(Context.current(), NameService.class);
        name = rpc.name(name);
    
        return "name=" + name;
    }
}

客戶端

//啟動客戶端
public class ClientApp {
    public static void main(String[] args) throws Throwable {
        //啟動Solon容器(SocketD bean&plugin 由solon容器管理)
        Solon.start(ClientApp.class, args);
        
        //[客戶端] 調用 [服務端] 的 rpc
        //
        HelloService rpc = SocketD.create("tcp://localhost:28080", HelloService.class);

        System.out.println("RPC result: " + rpc.hello("noear"));
    }
}

//定義遠程服務組件(供服務端調用)
@Mapping(value = "/demoe/rpc/name", method = MethodType.SOCKET)
@Component(remoting = true)
public class NameServiceImpl implements NameService {
    @Override
    public String name(String name) {
        return name + "2";
    }
}

“SocketD協議單鏈接雙向RPC模式怎么實現”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青川县| 湖北省| 四川省| 池州市| 信阳市| 铜鼓县| 马鞍山市| 睢宁县| 玉田县| 静海县| 延安市| 湖南省| 密山市| 于田县| 芦溪县| 沙河市| 武陟县| 通化县| 咸宁市| 闻喜县| 含山县| 五指山市| 巫山县| 盘锦市| 光泽县| 自贡市| 潼南县| 米脂县| 元阳县| 同德县| 前郭尔| 阿拉尔市| 平乡县| 韩城市| 蒙山县| 冷水江市| 封开县| 涡阳县| 乐都县| 安岳县| 德州市|