分布式--安装zookeeper、结合RMI实现RPC框架

      最后更新:2022-06-17 12:06:22 手机定位技术交流文章

      为发展大规模的后端项目,所有功能模块都分开并部署在不同的服务器上,因此,不同模块之间的跨网络通信是必不可少的,因此,RPC协议诞生,RPC是广泛的跨网络通信,具体框架如Dubbo。从架构来说,RPC通常有一个登记中心,管理客户和服务端,服务端提供外部进入登记中心,客户接收服务端口调用,实现跨网络通讯

      动物园管理员安装

      动物园管理员是一种分布式管理软件,通常用于RPC通信的登记中心

      1.下载 Zookeeper

      网站下载地址: https://zookeeper.Apache.org/releases.html#download

      下载稳定版本:

      2.向服务器转移

      在我一边,使用sftp上传到服务器上:

      3. 解压

      4.创建数据文件夹

      动物园主需要存储服务终止登记信息的路径

      在配置文件中指定路径

      修改配置文件内容:

      5.打球员

      在文件夹下运行壳牌脚本:

      查看zookeeper状态可以执行:

      关闭防火墙:

      Usezookeeper

      1. 导入依赖

      新的Maven项目,导入依赖:

      2.使用zookeeper注册内容

      写测试方法:

      执行结果:

      连接成功
      info:/demos0000000001

      3.在动物园里获取内容

      编写test方法:

      结果:

      连接成功
      hello

      三、RMI使用

      RMI是一个由JDK提供的远程调用方法工具,允许一个Java程序像调用本地方法一样调用另一个Java程序的内容,并不支持多语言
      RMI过程大致分为两个步骤,第一,它拥有注册表,用于存储服务端对象,服务端通过绑定方法注册对象;其次,客户端通过查找方法从注册表访问服务端对象。类似Android Binder机制,客户端也具有服务端对象的类

      1. 编写服务端

      创建一个马文模块作为RMI服务终结项目

      1.1外部接口的定义

      要求:继承到远程接口,方法需要抛出 RemoteException例外

      1.2 定义实现类

      要求:继承实现序列化接口的UncastRemoteObject类

      1.3 启动

      执行下列主要方法:

      2. 编写客户端

      为客户端映射的新模块

      2.复制外部接口
      2.2获取远程对象,调用方法

      结果:

      远程调用方法的结果:rmihello

      第四,RMI与动物园主结合,实现RPC框架

      其次,利用RMI作为传输协议,动物园主作为登记中心,并实施RPC框架

      1. bean模块

      创建一个公共JavaBean的Maven模块

      定义一个实体类实现序列化接口:

      2.服务模块

      创建一个Maven模块作为外部接口,由 both thermi客户端和服务端使用

      进口豆类模块的依赖性:

      定义外部接口继承远程接口:

      3.提供商模块

      创建一个Maven模块作为服务端

      输入服务模块依赖:

      实现对外接口:

      启动方法:

      4.消费者模块

      创建一个Maven模块作为客户端

      输入SpringBoot依赖,服务模块依赖:

      4.1服务水平

      定义服务接口:

      服务接口实现类:

      4.2控制层

      处理单元:

      4.3启动弹簧靴

      浏览器访问结果:

      项目地址:

      https://gitee.com/aruba/rpcdemo.git

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/27544.html

          热门文章

          文章分类