外贸营销型网站2018,苏州百度推广开户,网站目录生成,少女免费观看完整电视电影RPC的简化版原理如下图#xff08;核心是代理机制#xff09;。 1.本地代理存根: Stub2.本地序列化反序列化3.网络通信4.远程序列化反序列化5.远程服务存根: Skeleton6.调用实际业务服务7.原路返回服务结果8.返回给本地调用方
注意处理异常。
RpcProvider的本地实现
1、工…RPC的简化版原理如下图核心是代理机制。 1.本地代理存根: Stub2.本地序列化反序列化3.网络通信4.远程序列化反序列化5.远程服务存根: Skeleton6.调用实际业务服务7.原路返回服务结果8.返回给本地调用方
注意处理异常。
RpcProvider的本地实现
1、工程结构
rpc-core是核心实现类rpc-demo-api是定义实际业务服务的接口rpc-demo-provider是业务接口实现类 2、RpcProvider在启动过程中把RpcProvider标记的方法存到Map中去
在启动时加载配置
在配置中创建启动类
启动类在创建的过程会将带有RpcProvider注解的类存放到Map中。 PostConstruct注解可以在bean的初始化后进行执行刚好满足我们的常见存储bean 使用 ApplicationContextAware接口是为了获取Spring的应用上下文ApplicationContext从里面获取bean。
RpcProvider是自定义的一个注解用来表示这个类是一个服务提供者。
一个服务提供者订单服务实现类。
3、在调用的时候通过方法名称找到应该调用的方法通过反射完成调用。
发起一个http请求调用获取订单信息。
RpcRequest封装请求参数包括接口名称、方法名、参数。
一个请求入口 请求调用根据服务全限定名就是一个类的全名去map存找对应的类找到后通过反射发起方法调用。
响应类RpcResponse统一封装结果返回状态响应结果数据。
实际的调用结果就成功了。
4、有哪些问题
如果一个接口有多个实现类怎么办 错误消息怎么处理 方法有多个重载方法怎么办