一、RPC的概念二、RPC的通信流程2.1、建立连接2.2、数据传输2.2.1、序列化2.2.2、协议2.3、动态代理三、服务治理3.1、服务发现3.2、心跳检测3.3、负载均衡3.4、路由策略3.5、业务分组一、RPC的概念RPC 的全称是 Remote Procedure Call,即远程过程调用。RPC 是帮助我们屏蔽网络编程细节,实现调用远程方法就跟调用本地(同一个项目中的方法)一样的体验
1.Dubbo介绍Dubbo,一个是一款高性能Java RPC框架.私以为有中文官方文档,就不再重复介绍了2.RPC扩展-本地存根stubRPC扩展功能:提前效验参数,缓存调用结果,日志记录等等,可以使用AOP织入这些扩展功能,但Dubbo提供了更灵活简单的实现-本地存根stub。3.本地Mock-本地伪装mockRPC在服务异常时,请求返回mock的(假)数据,而不是简单的抛出异常,达到服务降级
转载 2024-04-22 19:24:26
178阅读
1、简介平台采用struts、spring、mybatis框架开发设计,主要用来管理mock接口数据,也可以用来管理接口自动化,并集成一些常用工具。2、架构设计web.xml<?xml version="1.0" encoding="UTF-8"?> <!-- web-app version="2.5" xmlns="http://java.sun.com/xml/ns/ja
转载 2024-02-10 20:49:39
18阅读
Dubbo RPC介绍目录1. 什么是Dubbo,我们正常是怎么使用的?2. 注册一个RPC服务需要什么参数3. 我们的Mock实现思路样例1. 什么是Dubbo,我们正常是怎么使用的?Apache Dubbo™ 是一款高性能Java RPC框架.其中与Alibaba Dubbo的区别主要在于阿里开发的2.6.X且不再维护,Apache开发的2.7.X新增了元数据中心 MetaData 和配置中心
转载 2024-07-24 06:19:40
40阅读
一、为什么使用mockjs在做开发时,当后端的接口还未完成,前端为了不影响工作效率,手动模拟后端接口我们可以使用json文件来模拟后台数据,但比较局限,无法模拟数据的增删改查使用json-server模拟,但不能随机生成所需数据使用mockjs模拟后端接口,可随机生成所需数据,可模拟对数据的增删改查二、mock优点前后端分离,可随机生成大量的数据用法简单数据类型丰富可扩展数据类型在已有接口文档的情
转载 2024-07-16 21:17:54
133阅读
1 简介 Dubbo目前的应用已经越来越广泛、或者基于Dubbo二次开发的也越来越多,使用到Dubbo的系统基本也是采用微服务架构设计的系统,多个系统、多个应用之间的接口是有依赖关
转载 2017-11-23 10:40:00
311阅读
2评论
文章目录1. 什么情况下使用mock2. 安装3. Mock实例惰性属性和方法断言和检查管理Mock的返回值管理Mock的副作用配置Mock4. patch()patch()作为装饰器patch()作为上下文管理器使用补丁模拟对象的属性补丁打在何处5. 常见问题6. 避免常见的问题7. 总结参考 1. 什么情况下使用mock减少测试运行时间, 只关注测试目标与外部接口交互时, 接口格式数据是否正
转载 2024-04-08 08:53:01
142阅读
前言 Spring是一款非常强大的框架,可以说是几乎所有的企业级Java项目使用了Spring,而Bean又是Spring框架的核心。设计模式,从整体上看,它的设计严格遵循了OCP—-开闭原则,即: 1、保证对修改关闭,即外部无法修改Spring整个运作的流程 2、提供对扩展开放,即可以通过继承、实现Spring提供的众多抽象类与接口来改变类加载的行为 开卷有益,阅读Spring源码(无需每个类都
服务化有什么好处?服务化的一个好处就是,不限定服务的提供方使用什么技术选型,能够实现大公司跨团队的技术解耦,如下图所示:服务A:欧洲团队维护,技术背景是Java服务B:美洲团队维护,用C++实现服务C:中国团队维护,技术栈是go服务的上游调用方,按照接口、协议即可完成对远端服务的调用。 但实际上,大部分互联网公司,研发团队规模有限,大都使用同一套技术体系来实现服务:这样的话,如果没有统一
什么是RPCRPC 的全称是 Remote Procedure Call 是一种进程间通信方式。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即无论是调用本地接口/服务的还是远程的接口/服务,本质上编写的调用代码基本相同。比如两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数或者方法,由于不在一个内存空间
什么是RPC:RPC其全程为Remote Process Call,即为远程过程调用,相对于本地过程调用来说的。说起RPC,就不能不提到分布式,这个促使RPC诞生的领域。假设你有一个计算器接口,Calculator,以及它的实现类CalculatorImpl,那么在系统还是单体应用时,你要调用Calculator的add方法来执行一个加运算,直接new一个CalculatorImpl,然后调用ad
转载 2024-07-15 07:39:07
89阅读
Dobbo知识整理 dubbo面试1、什么是Dubbo?2、为什么使用Dubbo?3、Dubbo工作原理?3.1 Dubbo核心组件3.2 Dubbo执行流程4、Dubbo分层5、服务调用是阻塞的吗?6、集群容错方式有哪些?7、Dubbo SPI机制8、如何设计一个RPC框架9、序列化框架10、Dubbo注册中心11、Dubbo通信机制11.1、Netty是什么?11.2 比较NIO
转载 8月前
26阅读
  一、RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。  RPC采用客户机/服务器模式。请求程序就是一个客户机,
RPC的介绍及其与http的区别 文章目录RPC的介绍及其与http的区别一、简介1、什么是 RPC2、RPC 和 http 的区别1)HTTP 和 RPC 是同一级别,还是被 RPC 包含?2)Restful 也属于 RPC 吗?3)二者对比 一、简介Apache Dubbo是一款高性能的Java RPC框架。其前身是阿里巴巴公司开源的、轻量级的开源Java RPC 框架,可以和Spring框架
转载 8月前
16阅读
一、什么是MockMvc?       先来看看mock单词本身的意思(只看形容词的部分释义):adj.模拟的;仿制的;虚假的;不诚实的。那么通过字面理解MockMvc就是模拟的MVC环境。     MockMvc是一套用于测试WEB应用的框架工具,它可以模拟HTTP请求来完成spring mvc的流程测试。有了它,我们不用再通
转载 2024-03-19 11:58:51
118阅读
目录一、实现功能1、使用spring boot 实现mock平台2、返回结果数据的存放:3、如何根据url返回对应的结果?1.3.1  将请求的URI拼成返回结果的文件/文件夹路径1.3.2 根据请求的ip不同,返回不同的结果。1.3.3  根据参数不同,返回对应的数据。1.4 返回结果不是写死的数据,而是动态数据1.5 调用其他服务/透传请求1.6.模拟响应时间1.
文章目录一、接口测试中Mock的用处二、使用步骤1.Moco框架搭建Mock服务Moco说明2、Python unittest模块自带的mock 一、接口测试中Mock的用处前后端开发,后端接口未开发完成,前端调用mock数据进行调试。接口集成测试,部分依赖服务未完成前,利用Mock完成本身的接口开发/测试。复杂的场景模拟,复现验证bug的时候,需要先准备比较复杂的数据场景,才能复现一个bug。
转载 2024-02-22 13:11:58
89阅读
【言简意赅】HTTP、RPC差异,为什么有了HTTP,还要RPC?导读OSI网络七层模型RPC服务RPC架构同步调用 与 异步调用流行的RPC框架HTTP服务小结 导读RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议我们都知道HTTP协议是在传输层协议TCP之上的,所以效率来看的话,RPC当然是要高一点,下面来具体聊聊RPC服务和HTTP服务。OSI网络七层模型ISO/O
转载 2024-06-11 19:43:02
54阅读
RSocket 系列的第三篇如果你看过本系列的前两篇文章,应该已经已经发现 RSocket 提供了一些底层的 API。可以直接使用交互模型中的方法进行操作,而且可以没有任何限制来回发送帧。这些基础的 API 为我们提供了许多自由和控制权,但是它可能会引入额外的问题,尤其是与微服务之间的契约相关的问题。为了解决这些问题,我们可以使用 RSocket 作为通用抽象层。有两种可用的解决方案:RSocke
前言:这篇文章我们来聊一聊RPC框架,为什么要聊RPC呢 ?首先从个人成长角度,如果一个新时代码农能清楚的了解RPC框架所具备的要素,掌握RPC框架中涉及的服务注册发现、负载均衡、序列化协议、RPC通信协议、Socket通信、异步调用、熔断降级等技术,可以全方位的提升基本素质。其次,目前市面上也有非常多优秀的框架,GitHub上也有相关源码,但好记性不如烂笔头,只有自己真正了解并且动手去尝试写一个
转载 2024-04-04 10:10:02
65阅读
  • 1
  • 2
  • 3
  • 4
  • 5