RCP技术



一、什么是RPC框架?

RPC描述
概念① RPC处于网络通信模型中会话层,它是建立在TCP/IP协议上的一个通信会话协议。它定义了网络通信中不同服务之间的交互模式,使得我们可以直接通过RPC调用其它服务的方法,而不需要关注网络上具体的通信细节。

② RPC其本质就是一个请求响应模式。客户端发起请求,服务器返回响应 (类似于Http)。
组成部分(1)Service:暴露方法的服务提供方。 主动将IP地址、端口以及暴露的方法等信息,注册到注册中心,并且在通信层监听RPC请求,收到消费方的RPC请求后,调用本地方法并返回执行结果,序列化成请求报文,在通信层响应Http请求。

(2)Client:调用远程服务的消费方。 通过接口调用,底层通过动态代理生成代理对象,序列化参数为请求报文,并通过RPC框架向服务方发送Http请求。

(3)Registy:服务注册与发现的注册中心(Nacos、Zookeeper等),可以提供负载均衡、动态配置等功能。 在这里插入图片描述
RPC调用过程(1)消费方开始调用RPC方法,底层是通过【动态代理】生成了接口的代理对象,代理对象将方法参数进行序列化操作,通信层调用RPC向服务方发送Http请求。

(2)服务方的通信层监听到Http请求后,调用本地方法得到返回值后,序列化成请求报文,在通信层响应Http请求。

(3)消费方的通信层收到响应请求后,将参数进行反序列化,得到结果对象,然后结束RPC调用。在这里插入图片描述
RPC涉及技术(1)动态代理: 消费方实现了一个加 @FeignClient 注解的远程调用接口,然后进行接口方法调用时,RPC底层会通过Jdk动态代理生成代理对象,在invoke方法内部进行Http请求的封装(序列化),以及发送Http 请求,处理Http响应结果,进行反序列化封装结果。

(2)序列化: RPC本质上是Http调用,因此为了能在网络通信中传输Java对象并接收,需要对其进行序列化与反序列化操作,我们可以导入java.io包,实现Serializable接口,对于不想序列化的属性,我们可以用transient关键字修饰。

(3)通信层基于netty这一IO通信框架。

(4)服务的注册与发现中心: 常用的包括Nacos、Zookeeper、Redis等。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
eclipsercp与springosgi是两个在Java开发中广泛使用的技术。它们都可以用于构建桌面应用程序和服务。下面将分别详细介绍eclipsercp和springOSGi技术,并提供一些最佳实践建议。 首先是eclipsercp技术。eclipsercp是一组基于Eclipse平台的开发框架和工具,用于构建丰富的桌面应用程序。它提供了一套强大的插件机制,允许开发人员将应用程序拆分为模块,并以插件的形式进行扩展和定制。eclipsercp还提供了一些通用的UI组件和功能,使开发人员能够快速构建用户友好的应用程序。 然后是SpringOSGi技术。SpringOSGi是Spring框架的一个扩展,用于将OSGi(开放服务网关初始化模型)技术与Spring集成。OSGi是一种动态模块化开发框架,它允许应用程序以模块化的方式进行构建和部署,以实现更好的可扩展性和模块化化。SpringOSGi通过提供一些额外的功能和API,简化了在OSGi环境中开发和管理应用程序的过程。 关于最佳实践建议,对于使用eclipsercp和springOSGi技术进行开发开发人员,以下是一些建议: 1. 理解框架:深入了解eclipsercp和springOSGi的工作原理和核心概念非常重要。掌握框架的核心概念和技术细节,有助于更好地利用其功能和扩展性。 2. 模块化开发:利用框架提供的插件机制和模块化开发思想,将应用程序拆分为逻辑上独立的模块,并以插件的形式进行扩展和定制。 3. 灵活配置:利用框架提供的配置文件和扩展点机制,实现应用程序的灵活配置和定制。这有助于减少硬编码和提高应用程序的可配置性。 4. 使用合适的设计模式:熟悉并正确应用常用的设计模式,如观察者模式、工厂模式等,有助于提高应用程序的可维护性和可扩展性。 5. 单元测试:编写和执行合适的单元测试是开发过程中的一个重要环节。通过单元测试可以验证代码的正确性,并确保应用程序在不同环境中的稳定性和可靠性。 最后,学习和掌握eclipsercp和springOSGi技术需要一定的时间和实践经验。通过阅读书籍、参加培训、参与实际项目等方式,可以更加深入地了解这两个技术,并在实践过程中逐步提升自己的技术水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值