随笔 - 1162  文章 - 0  评论 - 16  阅读 - 59万 

随笔分类 -  Dubbo

分布式框架Dubbo
第四章:(6)原理之 Dubbo 服务调用流程
摘要:一、服务调用流程 1、服务引用完成之后,会返回一个代理对象。 2、通过 debug,会来到 InvokerInvocationHandler 的 invoker 方法 @Override public Object invoke(Object proxy, Method method, Object 阅读全文
posted @ 2022-01-16 10:45 格物致知_Tony 阅读(164) 评论(0) 推荐(0) 编辑
第四章:(5)原理之 Dubbo 服务引用流程
摘要:一、服务引用流程 服务引用时,是通过 <dubbo:service> 标签或者 @Reference 注解来做到的,下面就解析一下服务引用流程。 1、ReferenceBean 实现了 FactoryBean,是一个工厂 Bean public class ReferenceBean<T> exte 阅读全文
posted @ 2022-01-15 21:54 格物致知_Tony 阅读(91) 评论(0) 推荐(0) 编辑
第四章:(4)原理之 Dubbo 服务暴露流程
摘要:一、服务暴露流程 服务暴露时,是通过 <dubbo:service> 标签或者 @Service 注解来做到的,下面就解析一下服务暴露流程。 1、ServiceBean 类,我们知道 ServiceBean 是用来解析 service 标签的,看一下这个类做了什么。 public class Ser 阅读全文
posted @ 2022-01-15 17:37 格物致知_Tony 阅读(215) 评论(0) 推荐(0) 编辑
第四章:(3)原理之 Dubbo 启动解析—标签解析
摘要:一、启动解析 Dubbo 可以很好的 Spring 框架进行整合,而且可以在 Spring 的 xml 配置文件中进行配置 Dubbo 的相关信息,那么是如何进行解析配置文件的呢? 在 Spring 中 BeanDefinitionParser 接口是用来解析 xml 配置文件的顶级接口,来看一下它 阅读全文
posted @ 2022-01-15 16:15 格物致知_Tony 阅读(87) 评论(0) 推荐(0) 编辑
第四章:(2)原理之 Dubbo 框架设计
摘要:Dubbo 框架设计 一、整体设计 图例说明: 图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口。 图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系,每一层都可以剥离上层被复用,其中,Service 和 Co 阅读全文
posted @ 2022-01-15 15:47 格物致知_Tony 阅读(20) 评论(0) 推荐(0) 编辑
第四章:(1)原理之 RPC&Netty原理
摘要:一、RPC 原理 一次完整的 RPC 调用流程(同步调用,异步调用另说)如下: 1)服务消费方(client)调用以本地调用方式调用服务; 2)client stub接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体; 3)client stub找到服务地址,并将消息发送到服务端; 4)s 阅读全文
posted @ 2022-01-15 12:13 格物致知_Tony 阅读(38) 评论(0) 推荐(0) 编辑
第三章:(4)高可用 之 集群容错&整合 Hystrix(服务熔断)
摘要:一、集群容错 集群调用失败时,Dubbo 提供的容错方案 在集群调用失败时,Dubbo 提供了多种容错方案,缺省为 failover 重试。 各节点关系: 这里的 Invoker 是 Provider 的一个可调用 Service 的抽象,Invoker 封装了 Provider 地址及 Servi 阅读全文
posted @ 2022-01-15 12:09 格物致知_Tony 阅读(100) 评论(0) 推荐(0) 编辑
第三章:(3)高可用 之 服务降级
摘要:一、服务降级 1、什么是服务降级 当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作。 2、降级 Dubbo 服务 可以通过服务降级功能临时屏蔽某个出错的非关键服务,并定义降级后的返回策略。 向注册 阅读全文
posted @ 2022-01-15 11:39 格物致知_Tony 阅读(56) 评论(0) 推荐(0) 编辑
第三章:(2)高可用 之 集群下dubbo负载均衡配置
摘要:一、负载均衡 Dubbo 提供的集群负载均衡策略 在集群负载均衡时,Dubbo 提供了多种均衡策略,缺省为 random 随机调用。 具体实现上,Dubbo 提供的是客户端负载均衡,即由 Consumer 通过负载均衡算法得出需要将请求提交到哪个 Provider 实例。 可以自行扩展负载均衡策略, 阅读全文
posted @ 2022-01-14 23:47 格物致知_Tony 阅读(243) 评论(0) 推荐(0) 编辑
第三章:(1)高可用 之 Zookeeper 宕机 与 Dubbo 直连
摘要:一、Zookeeper 宕机 现象:zookeeper 注册中心宕机,还可以消费 dubbo 暴露的服务。 原因:健壮性 监控中心宕掉不影响使用,只是丢失部分采样数据 数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务 注册中心对等集群,任意一台宕掉后,将自动切换到另一台 注册中心 阅读全文
posted @ 2022-01-14 22:08 格物致知_Tony 阅读(85) 评论(0) 推荐(0) 编辑
第二章:(7)Dubbo 配置与SpringBoot整合
摘要:一、Dubbo 配置与 SpringBoot 整合 的三种方式 1、方式一 1)导入 dubbo-starter 依赖,在 application.properties 配置属性 dubbo.application.name=boot-order-service-consumer dubbo.reg 阅读全文
posted @ 2022-01-14 19:59 格物致知_Tony 阅读(475) 评论(0) 推荐(0) 编辑
第二章:(6)Dubbo 常用配置之 本地存根
摘要:一、本地存根 在 Dubbo 中利用本地存根在客户端执行部分逻辑 远程服务后,客户端通常只剩下接口,而实现全在服务器端,但提供方有些时候想在客户端也执行部分逻辑,比如:做 ThreadLocal 缓存,提前验证参数,调用失败后伪造容错数据等等,此时就需要在 API 中带上 Stub,客户端生成 Pr 阅读全文
posted @ 2022-01-13 22:59 格物致知_Tony 阅读(112) 评论(0) 推荐(0) 编辑
第二章:(5)Dubbo 常用配置之 多版本
摘要:一、多版本 在 Dubbo 中为同一个服务配置多个版本 当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用。 可以按照以下的步骤进行版本迁移: 在低压力时间段,先升级一半提供者为新版本 再将所有消费者升级为新版本 然后将剩下的一半提供者升级为新版本 老版本服务提供者配置 阅读全文
posted @ 2022-01-13 21:59 格物致知_Tony 阅读(360) 评论(0) 推荐(0) 编辑
第二章:(4)Dubbo 常用配置之 重试次数
摘要:一、重试次数 失败自动切换,当出现失败,重试其它服务器,但重试会带来更长延迟。可通过 retries="2" 来设置重试次数(不含第一次)。 重试次数如下: 重试次数配置如下: <dubbo:service retries="2" /> 或 <dubbo:reference retries="2"  阅读全文
posted @ 2022-01-13 21:40 格物致知_Tony 阅读(1123) 评论(0) 推荐(0) 编辑
第二章:(3)Dubbo 常用配置之 超时&配置覆盖关系
摘要:一、超时时间 由于网络或服务端不可靠,会导致调用出现一种不确定的中间状态(超时)。为了避免超时导致客户端资源(线程)挂起耗尽,必须设置超时时间。 1、Dubbo 消费端 指定接口以及特定方法超时配置 <!-- 属性覆盖规则 以 timeout 为例: 1)精确优先 (方法级优先,接口级次之,全局配置 阅读全文
posted @ 2022-01-13 20:46 格物致知_Tony 阅读(1322) 评论(0) 推荐(0) 编辑
第二章:(2)Dubbo 常用配置之 启动时检查
摘要:一、启动时检查 在启动时检查依赖的服务是否可用 Dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以便上线时,能及早发现问题,默认 check="true"。 可以通过 check="false" 关闭检查,比如,测试时,有些服务不关心,或者出现了 阅读全文
posted @ 2022-01-12 22:58 格物致知_Tony 阅读(311) 评论(0) 推荐(0) 编辑
第二章:(1)Dubbo 配置
摘要:一、Dubbo 配置方式 可以采用不同的方式来配置 Dubbo 应用:配置概述 Dubbo 配置介绍 API 配置:以 API 配置的方式来配置你的 Dubbo 应用 XML 配置:以 XML 配置的方式来配置你的 Dubbo 应用 注解配置:以注解配置的方式来配置你的 Dubbo 应用 属性配置: 阅读全文
posted @ 2022-01-12 22:31 格物致知_Tony 阅读(197) 评论(0) 推荐(0) 编辑
第一章:(6)Dubbo 与 SpringBoot 整合
摘要:一、服务提供者 1、创建一个 boot-user-service-provider 的 SpringBoot 工程 2、加入 gmall-interface 依赖 <dependency> <groupId>com.njf.gmall</groupId> <artifactId>gmall-inte 阅读全文
posted @ 2022-01-11 22:44 格物致知_Tony 阅读(137) 评论(0) 推荐(0) 编辑
第一章:(5)Dubbo 监控中心
摘要:一、dubbo-admin 图形化的服务管理页面;安装时需要指定注册中心地址,即可从注册中心中获取到所有的提供者/消费者进行配置管理。 二、dubbo-monitor-simple 简单的监控中心 1、安装 (1)下载 dubbo-ops https://github.com/apache/incu 阅读全文
posted @ 2022-01-11 22:17 格物致知_Tony 阅读(55) 评论(0) 推荐(0) 编辑
第一章:(4)Dubbo 案例 HelloWorld
摘要:一、提出需求 某个电商系统,订单服务需要调用用户服务获取某个用户的所有地址; 我们现在 需要创建两个服务模块进行测试: 订单服务 web 模块 查询用户地址等 用户服务 service 模块 查询用户地址等 测试预期结果:订单服务 web 模块在 A 服务器,用户服务模块在 B 服务器,A 可以远程 阅读全文
posted @ 2022-01-10 23:01 格物致知_Tony 阅读(62) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示