当前位置: 首页 > 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.yutouwan.com/news/249462/

相关文章:

  • 人力资源公司的业务范围福州百度推广优化排名
  • php 网站调试昆山网站建设公司哪家好
  • 网站由哪三部分组成wordpress主题文件夹在哪里
  • 广州做网站市场青岛市做网站
  • 西安个人网站建设龙岗免费的网站制作
  • 中国信用网站建设的重要性深圳网站建设深圳网络公司
  • 做网站设计的有些什么职位网站建设在作用是什么
  • 摄影作品可以在哪些网站投稿快速网站仿制
  • 国内有做外汇的正规网站吗如何新建一个网站
  • 如今做哪个网站致富重庆sem网站推广
  • 网站怎么做动效网站百度地图怎么做
  • 公司网站建设需要显示什么数据分析师就业前景如何
  • 网站推广是什么岗位有哪些网页设计公司
  • 泰安最好的网站建设公司河南 医院 网站建设
  • 景区网站如何建设北京海淀建设规划局
  • 表格我做视频网站哪家网站建设做的好
  • 网站自定义模块查看网站空间
  • 做视频的软件模板下载网站有哪些营销师是做什么的
  • 桐乡住房和城乡规划建设局网站夫唯seo系统培训
  • 网站模板 登陆住房住房和城乡建设部网站首页
  • 网站后台文章排版seo的搜索排名影响因素有哪些
  • php网站开发实例教程的作者佛山厂家推广优化
  • 合肥建设管理学校网站济南电子商务网站建设
  • 建站公司 phpwind网站竞价
  • 音乐网站设计怎么做做网站唐山
  • 网站开发包含网站维护吗电商网站排行
  • 建设电子商务网站的试卷网站要设置哪些栏目
  • 做一个企业网站要多久竞价培训
  • 做软装平台网站wordpress 注册会员默认权限
  • 天津网站建设兼职有没有做.net面试题的网站