In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-16 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)05/31 Report--
This article introduces the relevant knowledge of "how to realize the SocketD protocol single-link two-way RPC mode". In the operation of the actual case, many people will encounter such a dilemma, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!
SocketD is a binary point-to-point communication protocol and a new network communication layer 7 protocol. Designed to be used in distributed applications. In this sense, SocketD can be an alternative to other similar protocols such as RSocket. Its message protocol specification has the characteristics of asynchronism, two-way back pressure, multiplexing, disconnection reconnection, message-based and so on. Only Java implementation is provided for the time being, and it is currently used as the sockte channel protocol for Solon rpc.
This case takes the single-link two-way RPC mode as an example: (add server reverse interface calls on the basis of RPC invocation pattern)
Interface definition
The Rpc mode borrows Nami as the client definition (Nami is a Solon companion framework and is positioned as a Rpc general client)
@ NamiClient ("demo:/demoe/rpc") public interface HelloService {String hello (String name);} @ NamiClient ("demo:/demoe/rpc/name") public interface NameService {String name (String name);} server / / launch server public class ServerApp {public static void main (String [] args) {/ / launch Solon container (SocketD bean&plugin is managed by solon container) Solon.start (ServerApp.class, args, app-> app.enableSocketD (true)) }} / / define remote service component (for client to call) @ Mapping (value = "/ demoe/rpc", method = MethodType.SOCKET) @ Component (remoting = true) public class HelloServiceImpl implements HelloService {public String hello (String name) {/ / [server] reverse call [client] remote service component * * NameService rpc = SocketD.create (Context.current (), NameService.class); name = rpc.name (name) Return "name=" + name;} client / / launch client public class ClientApp {public static void main (String [] args) throws Throwable {/ / launch Solon container (SocketD bean&plugin is managed by solon container) Solon.start (ClientApp.class, args) / / [client] calls rpc / / HelloService rpc = SocketD.create ("tcp://localhost:28080", HelloService.class) of [server]; System.out.println ("RPC result:" + rpc.hello ("noear")) }} / / define remote service components (for server invocation) @ 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";}} "how to implement the SocketD protocol single-link bidirectional RPC mode" ends here. Thank you for reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.