什么是RPC? RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带
转载
2024-03-18 15:57:22
75阅读
前言开发中不免会遇到需要所有子线程执行完毕通知主线程处理某些逻辑的场景。或者是线程A在执行到某个条件通知线程B执行某个操作。可以通过以下几种方式实现:等待通知机制等待通知模式是Java中比较经典的线程通信方式。两个线程通过对同一对象调用等待wait()和通知notify()方法来进行通讯。如两个线程交替打印奇偶数:publicclassTwoThreadWaitNotify{privateints
原创
2020-12-09 23:08:15
202阅读
前言 开发中不免会遇到需要所有子线程执行完毕通知主线程处理某些逻辑的场景。或者是线程 A 在执行到某个条件通知线程 B 执行某个操作。这些场景可以通过以下几种方式实现: 等待通知机制 等待通知模式是 Java 中比较经典的线程通信方式。 两个线程通过对同一对象调用等待 wait() 和通知 noti ...
转载
2021-08-16 17:11:00
82阅读
2评论
开发中不免会遇到需要所有子线程执行完毕通知主线程处
原创
2022-11-15 11:43:53
71阅读
一、基本原理由于网站越来越庞大,在一台机器上进行部署是不太现实的,所以有了分布式架构,把一些核心业务抽离出来。这样就会存在比如一台机器要调用另一台机器的上的服务或者操作,就有了RPC请求。二、基本过程1. 建立通信由于两台机器要调用对方机器上的服务,肯定是需要通信的,所以需要建立TCP连接2. 服务器寻址即要得到对方服务器上的IP地址和端口号,调用方法名称,传入返回参数等。这时我们需要一个注册服务
转载
2023-11-27 12:47:54
65阅读
为什么要学习这些框架?这些框架的本质到底是什么?框架是为了解决一个又一个在Web开发中所遇到的问题而诞生的。不同的框架,都是为了解决不同的问题,但是对于程序员而言,他们只是 jar包而已。框架的优缺点的评论,也完全取决于其对问题解决程度和解决方式的优雅性的评论。所以,千万不要为了学习框架而学习框架,而是要为了解决问题 而学习框架,这才是一个程序员的正确学习之道。MVC的概念其实就那
转载
2021-07-29 09:38:51
608阅读
Protocol 在 RPC 中的层次关系
Dubbo 中的协议
Motan 中的协议
总结
转载
2021-07-30 14:33:55
450阅读
RPC 被称为“远程过程调用”,表明了一个方法调用会跨越网络,跨越进程,所以传输层是不可或缺的。一说到网络传输,一堆名词就蹦了出来:TCP、UDP、HTTP,同步 or 异步,阻塞 or 非阻塞,长连接 or 短连接…
转载
2021-07-30 14:39:52
181阅读
RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。RPC 可基于 HTTP 或 TCP 协议,Web Service 就是基于 HTTP 协议的 RPC,它具有良好的跨平台性,但其性能却不如基于 TCP 协议的 RPC。会两方面会直接影响 RPC 的性能,一是传输方式,二是序列化。众所周知,TCP 是传输层协议,
转载
2024-04-30 10:08:09
48阅读
RPC 被称为“远程过程调用”,表明了一个方法调用会跨越网络,跨越进程,所以传输层是不可或缺的。一说到网络传输,一堆名词就蹦了出来:TCP、UDP、HTTP,同步 or 异步,阻塞 or 非阻塞,长连接 or 短连接...本文介绍两种传输层的实现:使用 Socket 和使用 Netty。前者实现的是阻塞式的通信,是一个较为简单的传输层实现方式,借此可以了解传输层的工作原理及工作内容;后者是非阻塞式
原创
2021-05-07 16:37:21
454阅读
上一篇文章分析了服务的注册与发现,这一篇文章着重分析下 RPC 框架都会用到的集群的相关知识。集群(Cluster)本身并不具备太多知识点,在分布式系统中,集群一般涵盖了负载均衡(LoadBalance),高可用(HA),路由(Route)等等概念,每个 RPC 框架对集群支持的程度不同,本文着重分析前两者--负载均衡和高可用。集群概述在此之前的《深入理解 RPC》系列文章,对 RPC 的分析着重
原创
2021-05-07 16:35:02
194阅读
集群(Cluster)本身并不具备太多知识点,在分布式系统中,集群一般涵盖了负载均衡(LoadBalance),高可用(HA),路由(Route)等等概念,每个 RPC 框架对集群支持的程度不同,本文着重分析前两者–负载均衡和高可用。
转载
2021-07-30 14:46:12
100阅读
协议(Protocol)是个很广的概念,RPC 被称为远程过程调用协议,HTTP 和 TCP 也是大家熟悉的协议,也有人经常拿 RPC 和 RESTFUL 做对比,后者也可以被理解为一种协议... 我个人偏向于把“协议”理解为不同厂家不同用户之间的“约定”,而在 RPC 中,协议的含义也有多层。Protocol 在 RPC 中的层次关系翻看 dubbo 和 motan 两个国内知名度数一数二的 R
原创
2021-05-07 16:36:44
597阅读
动手实现一个简易的 RPC 轮子真的很难吗?no no no,很简单的,不信你把文章看完(doge)。RPC 框架典型的架构典型的 RPC 架构大致可以分为三个部分:(1)服务提供者(RPC Server):运行在服务器端,提供服务接口定义与服务实现类。(2)注册中心(Registry):运行在服务器端,负责将本地服务发布成远程服务,管理远程服务,提供给服务消费者使用。(3)服务消费者(RPC C
提到JAVA中的动态代理,大多数人都不会对JDK动态代理感到陌生,Proxy,InvocationHandler等类都是J2SE中的基础概念。动态代理发生在服务调用方/客户端,RPC框架要解决的一个问题是:像调用本地接口一样调用远程的接口。
转载
2021-07-29 16:49:20
169阅读
一个【传输】(控制、批量、中断、等时):由多个【事务】组成;一个【事务】(IN、OUT、SETUP):
原创
2022-07-09 00:07:26
351阅读
提到 JAVA 中的动态代理,大多数人都不会对 JDK 动态代理感到陌生,Proxy,InvocationHandler 等类都是 J2SE 中的基础概念。动态代理发生在服务调用方/客户端,RPC 框架需要解决的一个问题是:像调用本地接口一样调用远程的接口。于是如何组装数据报文,经过网络传输发送至服务提供方,屏蔽远程接口调用的细节,便是动态代理需要做的工作。RPC 框架中的代理层往往是单独的一层,
原创
2021-05-07 16:37:41
285阅读
阅读文本大概需要3分钟。0x01 对对称加密的通俗理解即通信的双方都使用同一个秘钥进行加解密0x02 对非对称加密算法的通俗理解 [ RSA ]私钥 + 公钥= 密钥对即用私钥加密的数,只有对应的公钥才能解密,用公钥加密的数据,只有对应的私钥才能解密其实这个很容易理解,因为通信双方的手里都有一套自己的密钥对,通信之前双方会先把自己的公钥都先发给对方然后对方再拿着这个公钥来加密数据响应给对方,等到到
转载
2023-05-30 09:18:16
49阅读
深入理解 https 通信加密过程
原创
2021-07-06 10:56:01
291阅读
在我们的项目中,尤其是我们的web项目,无论你是用何种语言编写,java、C#.....JavaScript这种前台页面的脚本语言都占居着举足轻重的地位,下面带大家深入走进JavaScript,探索其中的奥秘,一起学习,共同进步!! 1、 要深入理解JavaScript,你得首先放下对象和类的概念,回到
转载
2024-01-12 14:41:26
102阅读