当前位置: 首页 > news >正文

网站怎么做才能让更多平台展现红色大气网站

网站怎么做才能让更多平台展现,红色大气网站,简述酒店类网站开发的策略,成功营销案例一、RPC简介最近看hadoop底层通信#xff0c;都是通过RPC实现的。RPC(Remote Procedure Call Protocol)远程调用#xff1a; 远程过程调用是一种常用的分布式网络通信协议,它允许运行于 一台计算机的程序调用另一台计算机的子程序#xff0c;同时将网络的通信细节隐藏起来都是通过RPC实现的。RPC(Remote Procedure Call Protocol)远程调用 远程过程调用是一种常用的分布式网络通信协议,它允许运行于 一台计算机的程序调用另一台计算机的子程序同时将网络的通信细节隐藏起来 使得用户无须额外地为这个交互作用编程。分布式系统之间的通信大都通过RPC实现二、RPC请求过程client发起服务调用请求client stub代理程序将调用的方法参数按照一定格式封装通过服务方的地址发起网络请求消息通过网络发送到服务端server stub接收到消息进行解包反射调用本地对应的服务本地服务执行将结果返回给server stub,然后server stub会将结果消息打包返回到客户端client stub接收消息解码得到最终结果.三、RPC框架架构要写一个RPC框架需要哪些组成部分序列化方式。序列化主要作用是将结构化对象转为字节流以便于通过网络进行传输或写入持久存储。远程代理对象一般使用jdk动态代理或者cglib代理服务暴露 设置注册中心Zookeeper网络通信基于事件驱动的Reactor模式四、RPC框架示例服务提供者运行在服务器端提供服务接口定义与服务实现类服务发布者运行在服务器端负责将本地服务发布成远程服务管理远程服务提供给服务消费者使用服务消费者运行在客户端通过远程代理对象调用远程服务服务端代码服务接口//计算学生年龄和的接口public interface CalculateService { String cal(Student sta, Student stb);}public class CalculateServiceImpl implements CalculateService { Override public String cal(Student sta, Student stb) { return 学生年龄之和 (sta.getAge() stb.getAge()); }}服务发布public class PublishUtilI { //服务接口集合 private static List serviceList; private static ThreadPoolExecutor executor new ThreadPoolExecutor(5,10,10, TimeUnit.SECONDS, new LinkedBlockingQueue(10)); public static void publish(int port,Object... services) throws IOException { serviceList Arrays.asList(services); ServerSocket server new ServerSocket(port); Socket client; while (true) { //阻塞等待请求 client server.accept(); //使用线程池处理请求 executor.submit(new ServerHandler(client, serviceList)); } }}反射调用服务读取客户端发送的服务名判断服务是否发布如果发布反射调用服务端对应服务返回结果给客户端public class ServerHandler implements Runnable { private Socket client null; private List serviceList null; public ServerHandler(Socket client, List service) { this.client client; this.serviceList service; } Override public void run() { try ( ObjectInputStream input new ObjectInputStream(client.getInputStream()); ObjectOutputStream output new ObjectOutputStream(client.getOutputStream()) ) { // 读取客户端要访问那个service Class serviceClass (Class) input.readObject(); // 找到该服务类 Object obj findService(serviceClass); if (obj null) { output.writeObject(serviceClass.getName() 服务未发现); } else { //利用反射调用该方法返回结果 String methodName input.readUTF(); //读取UTF编码的String字符串 //读取参数类型 Class[] parameterTypes (Class[]) input.readObject(); //读取参数 Object[] arguments (Object[]) input.readObject(); Method method obj.getClass().getMethod(methodName, parameterTypes); //反射执行方法 Object result method.invoke(obj, arguments); output.writeObject(result); } } catch (Exception e) { e.printStackTrace(); } } private Object findService(Class serviceClass) { for (Object obj : serviceList) { boolean isFather serviceClass.isAssignableFrom(obj.getClass()); if (isFather) { return obj; } } return null; }}客户端代码public class Client { public static void main(String[] args) { CallProxyHandler handler new CallProxyHandler(127.0.0.1
http://www.huolong8.cn/news/249462/

相关文章:

  • 网站搜索功能怎么实现如何建设机关用房管理系统网站
  • 网站优秀设计方案上海由多少家网站建设公司
  • 视频网站怎么引流网上查房屋备案
  • html5网站尺寸开发一个app要多少钱呢
  • 电脑网站与手机的区别是什么网站免费获取验证码怎么做
  • 淘宝怎样优化关键词深圳知名网络优化公司
  • 网站布局设计创意哈尔滨最专业的网站建设
  • 江苏省品牌专业建设网站网站 申请
  • 做区块链好的网站杭州建站网站建设
  • 网站建设与用户体验厅门户网站建设
  • 网站策划书市场分析2000字智能制造工程
  • 做摄影的网站知乎源码资源
  • 赣州大余做网站建设wordperss网站做负载均衡
  • 深圳市seo网站设计哪家好搜索引擎排名
  • 自己能做网站吗权威发布海报
  • 苏州网站建设建站网网页模板的制作步骤
  • 有哪些做的比较好的网站渭南市住房和城乡建设局官方网站
  • 常州手机网站建设百度网站优化软件
  • 标准网站建设报价单国家标准物质网站建设
  • 软文发布平台与板块百度上如何做优化网站
  • 宠物电商网站模板京东商城官网入口
  • 米拓模板网站建设做地方的门户网站
  • 夫妻做网站wordpress数据转移
  • 做兽设的网站短视频营销成功的案例
  • 临沂品牌网站制作电子商务网站建设的基本要素
  • 西青房地产网站建设wdcp搭建网站教程
  • 网站内容采编怎么做小型电商网站开发
  • 网站别人帮做的要注意什么东西网站代运营公司排名
  • 做网站 一年需要多少钱百度做网站优化多少钱一年
  • 菏泽网站建设网站好网站建设公司地址