【RPC】核心原理
文章平均质量分 84
点子渣手
这个作者很懒,什么都没留下…
展开
-
【RPC】RPC进阶(一)架构设计
文章目录1.1 架构设计1.1.1 RPC 架构1.1.2 可扩展的架构1.1 架构设计1.1.1 RPC 架构 架构设计按照我的理解就是从顶层出发,梳理出系统中的各个模块,并清晰他们之间数据交互的流程,形成我们最终的设计方案,让人一看就能对系统整体有一个宏观认识,并且好的架构设计同时还要兼具灵活的拓展性。 RPC 中我们发起一次调用在最底层上首先是要进行网络的连接,考虑到调用的可靠性,我们一般采用TCP协议进行数据传输,同时为了屏蔽网络传输的复杂性,我们设计一个单独的模块来收发二进制数据,这个原创 2021-08-23 12:55:35 · 184 阅读 · 0 评论 -
【RPC】RPC基础(六)RPC实战:gRPC使用和原理初探
文章目录RPC核心原理1. RPC基础1.6 RPC实战:gRPC使用IDEA中使用Protocol BuffergRPC的发送与接收发送原理接受原理RPC核心原理1. RPC基础1.6 RPC实战:gRPC使用IDEA中使用Protocol Buffer打开IDEA插件市场,搜索protocol buffers,安装后重启,就可以识别.proto文件了编译代码生成参考grpc-java的 GitHub 在pom.xml 文件中添加信息如下<dependency> <g原创 2021-08-18 11:42:28 · 527 阅读 · 0 评论 -
【RPC】RPC基础(五)动态代理
1.5 动态代理什么是动态代理 动态代理就是在程序运行期间,创建目标对象的代理对象,在不改变其代码的情况下,对目标对象的方法进行功能性增强。比如Spring AOP中我们在项目使用的统一拦截功能,如权限认证、性能统计等都是动态代理的体现。 RPC中,客户方在使用服务提供方所提供的功能时,只是通过Maven等方式导入提供的接口,其中并不包含真正的业务逻辑,但我们又是怎样调用到确实发挥作用的方法,其中的核心技术就是动态代理,其调用流程如下。 JDK 动态代理使用示例/** * 要代理的接口原创 2021-08-18 11:37:41 · 413 阅读 · 0 评论 -
【RPC】RPC基础(四)网络通信
文章目录RPC核心原理1. RPC基础1.4 网络通信常见的网络 IO 模型BIONIOIO多路复用AIORPC框架中IO模型的选择零拷贝Netty 中的零拷贝RPC核心原理1. RPC基础1.4 网络通信常见的网络 IO 模型同步阻塞 IO (BIO)同步非阻塞 IO (NIO)IO多路复用异步非阻塞 IO (AIO)BIOBIO 是最常见和简单的模型,Linux 中默认所有 Socket 都是阻塞的。一个线程处理一个 IO流程:应用进程发起 IO,应用进程阻塞,系统内核等待数据原创 2021-08-18 11:31:48 · 318 阅读 · 0 评论 -
【RPC】RPC基础(三)序列化
文章目录RPC核心原理1. RPC基础1.3 序列化常用的序列化JDK原生序列化JSONHessianProtobufRPC框架中序列化的选择RPC框架构造的注意事项RPC核心原理1. RPC基础1.3 序列化常用的序列化JDK原生序列化public void test(String filePath) { FileOutputStream fos = new FileOutputStream(filePath); Student student = new Student(); stud原创 2021-08-18 11:29:19 · 447 阅读 · 0 评论 -
【RPC】RPC基础(二)RPC协议
文章目录RPC核心原理1. RPC基础1.2 RPC协议为什么设计RPC协议如何设计RPC协议可扩展协议的设计思考RPC核心原理1. RPC基础1.2 RPC协议RPC协议和HTTP协议一样都属于应用层协议协议的作用: 协议就像是文章中的标点符号、段落格式等规定,有了这些我们能明白一句话和一个段落到那里结束。RPC调用中,请求信息转换为二进制写入本地Socket,再通过网卡发往网络设备。二进制码有可能被划分为多个不同数据块进行发送,发送过程中还可能与其他数据块进行合并,协议的作用就是标定接收方原创 2021-08-18 11:25:05 · 771 阅读 · 0 评论 -
【RPC】RPC基础(一)什么是RPC
文章目录RPC核心原理为什么要学习RPC1. RPC基础1.1 什么是RPCRPC通信流程RPC在架构中的位置RPC核心原理 第一次想正式了解RPC是在旁听了同学的模拟面以后,百度的面试官推荐说简历中如果缺少项目, 自己搞一个RPC框架比秒杀商城什么的更能算是加分项,后面和同学交流中了解到虽然RPC算是一个不错的项目,但如果只是为了做项目而不去了解其中的原理核心,不管是面试还是对自身能力的提升,它的价值都要大打折扣,所以还是要系统全面的去学习RPC 本文是我学习何小峰老师的 RPC实战与核心原理课原创 2021-08-18 11:22:00 · 332 阅读 · 0 评论