202110-15 openstack中的rpc远程调用的方法 众所周知,OpenStack的通信方式有两种,一种是基于HTTP协议的RESTFulAPI方式,另一种则是RPC调用。两种通信方式的应用场景有所不同,在OpenStack中,前者主要用于各组件之间的通信(如nova与glance的通信),而后者则用于同一组件中各个不同模块之间的通信(如nova组件中nova-compute与nova-scheduler的通信)。nova中rpc调用非常多,用pycharm点点点跟函数的时候遇到rpc就会点不下去了,不解决直接就看不下去了那种多法什么是RP... 继续阅读 >
202107-22 详解php中流行的rpc框架 目录什么是RPC框架?远程调用原理远程调用的好处RPC与Socket有什么区别?RPC与REST有什么区别?php中流行的rpc框架有哪些phprpc安装开始使用yar下载安装开始使用什么是RPC框架?通常我们调用一个php中的方法,比如这样一个函数方法:localAdd(10,20),localAdd方法的具体实现要么是用户自己定义的,要么是php库函数中自带的,也就说在localAdd方法的代码实现在本地,它是一个本地调用!远程调用原理比如A(client)调用B(serve... 继续阅读 >
202105-20 PHP远程调用以及RPC框架 前言一个项目,从开始到版本更新,一直到最后的版本维护。功能在不断增多,对应的代码量也在不断增加,也就意味着项目变得更不可维护,这时候,我们需要用拆分的方式将一个项目打散,以便开发团队更好的对项目进行维护。分模块这个阶段,一般也是项目的初级阶段,由于人手不够,一个服务端的接口项目只有一个开发进行维护,根据开发的习惯,会把项目分成若干个模块进行开发,在一个项目下进行部署。这样做的缺点在于项目会随着版本... 继续阅读 >
202010-30 python实现一个简单RPC框架的示例 本文需要一点Pythonsocket基础。回顾RPC客户端(Client):服务调用方。客户端存根(ClientStub):存放服务端地址信息,将客户端的请求参数数据信息打包成网络消息,再通过网络传输发送给服务端。服务端存根(ServerStub):接收客户端发送过来的请求消息并进行解包,然后再调用本地服务进行处理。服务端(Server):服务的真正提供者。NetworkService:底层传输,可以是TCP或HTTP。实现jsonrpc在实现前,简单理... 继续阅读 >
202009-27 如何基于springcloud模拟RPC调用(Feign) Feign简介Feign是一个声明式的WebService客户端,它能够让WebService客户端的编写变得更加容易(你只需创建一个接口,并在接口上添加相应注解即可)。除了Feign自带的注解外它还支持JAX-RS注解,SpringCloud又为Feign增加了对SpringMVC注解的支持,同时为了能够使用和SpringWeb中默认使用的相同的httpMessageConverter,SpringCloud集成了Ribbon和Eureka,用来在使用Feign时能够为其提供一个负载均衡的HTTP客户端。总起来说,Fe... 继续阅读 >
202009-23 Java RPC框架过滤器机制原理解析 过滤器字面义上理解的过滤器类似下图,从一堆物品中筛选出符合条件的留下,不符合的丢弃。GOF职责链GOF中有一种设计模式叫职责链,或者叫责任链,常规的UML图如下:正统的职责链是将一个请求发给第一个接收者,接收者判断是否属于自己能处理的,如果能处理则执行操作并中止请求下发,流程到此为止。如果不能处理则将请求下发给下一个接收者一直到最后一个接收者。变体职责链上面提到正统的职责链有一个特点:当找到符合条件的执行... 继续阅读 >
202009-23 Java RPC框架如何实现客户端限流配置 关键资源关键资源总是有限的,也就意味着处理能力也有限,所以当面对大量业务时,为了保障自己能够有序的提供服务最经济的做法就是限制同一时间处理的事务数。比如银行的工作人员,一个工作人员同时只能为一个客户服务,来多了根本处理不了,不光是一种浪费而且有可以造成混乱的局面导致工作人员无法工作。网络请求漏斗越上层的服务器处理的事务越轻,应付请求的能力也越强,也就意味着同一请求越上层处理时间越短。为了有效的保护... 继续阅读 >
202009-23 Java RPC框架熔断降级机制原理解析 熔断与降级为什么在RPC环节中有熔断以及降级的需求,详细的原因这里不多解释,从网上搜索一张图做示意。熔断我理解熔段主要解决如下几个问题:当所依赖的对象不稳定时,能够起到快速失败的目的快速失败后,能够根据一定的算法动态试探所依赖对象是否恢复比如产品详细页获取产品的好评总数时,由于后端服务异常导致客户端每次都需要等到超时。如果短时间内服务不能恢复,那么这段时间内的所有请求时间都将是最大的超时时间,这类消... 继续阅读 >
201802-26 10秒钟,让你的方法变为RPC服务 rpcx一个服务治理的GoRPC框架,拥有非常多的特性,支持跨语言的服务调用。众多的特性可以参考doc.rpcx.site。它的服务治理的特性深受阿里巴巴的Dubbo框架的启发。在实际的产品应用中,用户使用两台服务器+8台日志搜集服务(Client),轻松处理每天几十亿的服务调用,除了中间一个路由器硬件闪断,整个系统平稳运行多半年。相比较之前Java的实现,服务器节省了一般。用户使用rpcx框架重构后的系统每月为公司节省了... 继续阅读 >