目的:调用远程业务逻辑方法,并对返回的结果进行处理。规范化了调用流程,可扩展支持多种协议:HTTP, JMS, RMI, FTP等,实现负载均衡,异步调用。默认给出HTTP实现。
概念:
Agent: 我们将这套实现称为agent
Server:远程应用服务, RPC服务的提供者。
Client:客户端,RPC服务的调用者
Agent server:agent在server端的部分
Agent client: agent在client端的部分
Agent group:具有相同业务逻辑的远程服务器的组合,提供相同的远程业务服务。
基本结构:以HTTP方式为例了解一下agent的基本结构
Agent client
Agent server
如果采用是其他通信方式agent servlet可能就被换成比如jms listener,FTP receiver, RMI service等, 有待以后有需要的时候再实现。
原理:
l 初始化agent group,启动agent client,agent server
l 业务客户端构建agent请求并调用agent client
l Agent client序列化业务请求
l Executor从load balancer中得到当前供调用的agent,通过HttpRequest的body发送业务请求
l Load balancer轮询下一个agent
l Agent server收到请求,调用agent service
l Agent service将请求反序列化,并装配成业务逻辑命令参数的形式,可供业务逻辑调用命令执行,同时初始化agent上下文
l 业务逻辑调用者调用服务器端本地业务逻辑执行并返回结果
l Response装配器将agent context上下文和返回结果装配成agent response
l Response编码器序列化response,并由servlet通过HttpResponse的body发送应答
l Executor收到应答后,从HttpResponse的body里取出agent response的内容
l Response解码器将其解码反序列化成agnet response
l Agent client调用result handler进行返回结果的处理
Client端同步调用顺序图
Client端异步调用顺序图
Server端顺序图
- 大小: 66.1 KB
- 大小: 33.2 KB
- 大小: 38.1 KB
- 大小: 33.2 KB
- 大小: 16.5 KB
- 大小: 9.8 KB
- 大小: 17.3 KB
- 大小: 13.7 KB
- 大小: 18.1 KB
分享到:
相关推荐
该框架提供了丰富的标准库及简易的接口与逻辑结构,有助于开发者减少代码编写量,专注于项目的创新部分。 #### 二、CodeIgniter框架核心概念 1. **框架(Framework)**:框架是一种预先设计好的软件架构,用于支撑...
Dubbo是一款高性能、轻量级的Java RPC框架,由阿里巴巴开源。它提供了高可用的服务治理能力,在分布式系统中尤为常见,用于实现服务之间的远程通信。在本教程的背景中,Dubbo被应用于第三方支付系统的分布式架构中,...
1. **数据库--edu_simple_pay.rar**:这是系统的数据库文件,可能包含了支付系统所需的表结构和初始化数据。在分布式系统中,数据库通常作为共享存储,负责保存交易记录、用户信息等关键数据。 2. **pay-facade-fee...
gRPC是一个高性能、开源和通用的RPC框架,它基于HTTP/2协议,并提供了多种语言的SDK,包括C++。这个示例主要展示了如何在C++中构建gRPC的客户端和服务端,适合初学者参考学习。 首先,我们来看`GRPC_Service`目录,...
首先,gRPC是一个高性能、开源的通用RPC框架,基于Google的Protocol Buffers(protobuf)定义服务,支持多种语言。在本项目中,gRPC被用作后端服务间的通信协议,提供高效、低延迟的数据交换。通过protobuf定义接口...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
- **evrpc**:一个简单的远程过程调用(RPC)框架,便于开发者构建分布式应用。 #### 二、库及其安装 ##### 2.1 核心库 - **libevent_core**:包含所有核心功能,如事件处理、缓冲管理等基础组件。 - **libevent_...
- **定义**: Apache Mesos是一种通用的集群管理系统,能够有效地调度CPU、内存等硬件资源。 - **特性**: 支持多框架混合部署,如Hadoop MapReduce和其他服务型应用。 - **适用场景**: 大型企业级数据中心,需要高效...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...