随笔 - 303  文章 - 0  评论 - 3  阅读 - 15万

随笔分类 -  分布式及微服务 / Dubbo

1 2 下一页
之前使用了Zookeeper的应用之一数据的发布与订阅,这里继续介绍集成了该应用并拓展了应用的Dubbo
Dubbo源码剖析六之SPI扩展点的实现之Adaptive功能实现原理
摘要:接Dubbo源码剖析六之SPI扩展点的实现之getExtensionLoader - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)继续分析Adaptive功能实现原理。Adaptive的主要功能是对所有的扩展点进行封装为一个类,通过URL传入参数的时动态选择需要使用的扩展点(参考Dubb 阅读全文
posted @ 2022-02-18 06:18 池塘里洗澡的鸭子 阅读(65) 评论(0) 推荐(0) 编辑
Dubbo源码剖析六之SPI扩展点的实现之getExtension
摘要:上文Dubbo源码剖析六之SPI扩展点的实现之getExtensionLoader - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中分析了getExtensionLoader,本文继续分析SPI扩展点实现的getExtension。 通过方法名称不难看出其功能是根据name加载指定扩展 阅读全文
posted @ 2022-02-18 06:04 池塘里洗澡的鸭子 阅读(49) 评论(0) 推荐(0) 编辑
Dubbo源码剖析五之服务本地缓存
摘要:Dubbo调用者需要通过注册中心(例如:ZK)注册信息,获取提供者。但是如果频繁从ZK获取信息肯定会存在单点故障问题,所以Dubbo提供了将提供者信息缓存在本地的方法。 Dubbo在订阅注册中心的回调处理逻辑当中会保存服务提供者信息到本地缓存文件当中(同步/异步两种方式),以URL维度进行全量保存。 阅读全文
posted @ 2022-02-17 20:12 池塘里洗澡的鸭子 阅读(526) 评论(0) 推荐(0) 编辑
Dubbo源码剖析三之服务注册过程分析
摘要:Dubbo源码剖析二之注册中心 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中对注册中心进行了简单的介绍,对Dubbo整合Zookeeper链接源码进行了详细分析。本文接着对服务注册过程源码进行分析。 借图说明服务注册(暴露)流程: 利用之前案例跟踪调试分析上述流程的实现,或者验证该 阅读全文
posted @ 2022-02-17 14:59 池塘里洗澡的鸭子 阅读(290) 评论(0) 推荐(0) 编辑
Dubbo源码剖析一之整体架构设计
摘要:Dubbo基础二之架构及处理流程概述 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中进行Dubbo职能上的简单介绍,下面就其内部进行详细探究: 1、Dubbo调用关系 这个图是不是很熟悉,但是又好像有点不一样。是的,此图将架构概述中的服务消费者和提供者进行了细化,详解如下: 同时整个 阅读全文
posted @ 2022-02-17 11:49 池塘里洗澡的鸭子 阅读(55) 评论(0) 推荐(0) 编辑
Dubbo扩展点应用之六服务动态降级
摘要:服务降级,当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务有策略的降低服务级别以释放服务器资源保证核心任务的政策运行。 为什么要使用服务降级呢?这是为了防止分布式服务发送雪崩效应,也就是蝴蝶效应:当一个请求发送超时,一致等待中服务响应,那么在高并发情况下,很多请求都是因为这样一直等待响应知 阅读全文
posted @ 2022-02-17 10:35 池塘里洗澡的鸭子 阅读(150) 评论(0) 推荐(0) 编辑
Dubbo扩展点应用之三异步调用
摘要:Dubbo不只提供了堵塞式的同步调用,同时提供了异步调用的方式。这种方式主要应用于提供者接口响应耗时明显,消费者端可以利用调用接口的时间去做一些其他的接口调用,利用Future模式来异步等待和获取结果即可(参考FutureTask类的get方法如何实现线程同步等待 - 池塘里洗澡的鸭子 - 博客园 阅读全文
posted @ 2022-02-17 09:47 池塘里洗澡的鸭子 阅读(99) 评论(0) 推荐(0) 编辑
Dubbo扩展点应用之二负载均衡
摘要:负载均衡其本质就是将请求分摊到多个操作单元上进行,从而共同完成工作任务。其策略主要用于客户端春常在多个提供者时根据算法选择某个提供者。在集群负载均衡时,Dubbo提供了多种均衡策略(包括随机、轮询、最少活跃调用数、一致性Hash等),缺省为随机调用(具体可参考dubbo官网)。 配置负载均衡,既可以 阅读全文
posted @ 2022-02-17 09:24 池塘里洗澡的鸭子 阅读(92) 评论(0) 推荐(0) 编辑
Dubbo基础三之配置方式简述
摘要:Dubbo基础一之实战初体验 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中,体验了两种配置方式一种注解一种xml。其中xml是在注解配置失败没有找到解决方法后选择xml替代体验的。那么Dubbo支持多少中配置方式呢?一般分为以下几种且每种配置方式各有不同: 1)注解:基于注解可以快 阅读全文
posted @ 2022-02-16 11:21 池塘里洗澡的鸭子 阅读(520) 评论(0) 推荐(0) 编辑
Dubbo基础二之架构及处理流程概述
摘要:Dubbo基础一之实战初体验 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中体验了Dubbo的使用,对于消费端对服务提供者的调用非常清晰明确。那么Dubbo是如何做到的呢?下面对Dubbo的架构及处理流程做简单概述。 Apache Dubbo是一款高性能的Java RPC框架,其前身 阅读全文
posted @ 2022-02-16 10:52 池塘里洗澡的鸭子 阅读(92) 评论(0) 推荐(0) 编辑
Dubbo源码剖析二之注册中心
摘要:Dubbo基础二之架构及处理流程概述 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中架构中,无论是服务提供者还是服务消费者都离不开注册中心,可见注册中心之重要。Redis、Nacos、Zookeeper等这些开源框架均作为Dubbo的注册中心,Dubbo推荐用户使用Zookeeper 阅读全文
posted @ 2021-08-12 20:23 池塘里洗澡的鸭子 阅读(200) 评论(0) 推荐(0) 编辑
Dubbo服务注册到Zookeeper,对外提供服务的实际类 ref(如:SleepServiceImpl)保存在哪里
摘要:Dubbo服务注册到Zookeeper,其注册的内容为实际对外提供的服务的实现。这个实现保存在哪里(至于具体客户端使用时怎么取后后续阐述)?可以看看Dubbo如何处理的。 对于@DubboService注解的bean,其实现的父类接口的注册由ServiceClassPostProcessor的reg 阅读全文
posted @ 2021-08-11 10:33 池塘里洗澡的鸭子 阅读(118) 评论(0) 推荐(0) 编辑
Dubbo源码剖析六之SPI扩展点的实现之getExtensionLoader
摘要:Dubbo SPI机制之三Adaptive自适应功能 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中,示例案例中自定义了扩展接口而不是使用Dubbo已提供的扩展接口。在案例中,主程序分别使用了不同的加载方法,如下: getExtensionLoader:获取扩展点加载器并加载锁对于的 阅读全文
posted @ 2021-08-04 21:23 池塘里洗澡的鸭子 阅读(145) 评论(0) 推荐(0) 编辑
从Spring容器的角度理解Dubbo扩展点的加载时机
摘要:对于Dubbo提供的扩展点,主程序执行的过程中并没有显示调用加载的过程,无论是自激活的Filter还是自适应的ThreadPool。那么这样的扩展点在程序运行的哪个节点调用的呢?跟踪之前性能监控扩展点的执行流程,找到扩展点加载时机,如下: 以该文章中关于线程池的扩展点为例,调试分析dubbo扩展点的 阅读全文
posted @ 2021-07-21 07:27 池塘里洗澡的鸭子 阅读(152) 评论(0) 推荐(0) 编辑
Dubbo扩展点应用之四线程池
摘要:线程池也是Dubbo自动自适应扩展点之一,也可以自定义线程池。Dubbo中已实现的线程池扩展点有: 其中框架提供的线程池都是通过创建真实的业务线程池进行操作的,目前线程池模型中有两个和Java中线程池相对应: 1)fix:表示创建固定大小的线程池。也是Dubbo默认的使用方式,默认创建的执行线程数为 阅读全文
posted @ 2021-06-21 23:46 池塘里洗澡的鸭子 阅读(490) 评论(0) 推荐(0) 编辑
Dubbo扩展点应用之一filter及@Activate自激活使用
摘要:与很多框架一样,Dubbo也存在拦截(过滤)机制,可以通过该机制在执行目标程序前后执行我们指定的代码。Dubbo中Filter只是Dubbo提供的可自定义扩展的扩展点之一。通过该扩展点地理解,可以触类旁通地理解其他类似自激活的扩展点。 那么什么是自激活?如果一个扩展点有多个实现,那么最后究竟使用哪个 阅读全文
posted @ 2021-06-21 14:48 池塘里洗澡的鸭子 阅读(1777) 评论(0) 推荐(0) 编辑
关于TP90 TP99 等常用于评估软件系统的处理性能的指标概念
摘要:工作中还是蛮少直接接触到评估系统性能的,但是不妨碍有兴趣了解。认为这是常识,只是个人才疏学浅不了解其定义。 TP=Top Percentile,Top百分数,是一个统计学里的术语,与平均数、中位数都是一类,为等水位线(waterline)。 TP50、TP90和TP99等指标常用于系统性能监控场景, 阅读全文
posted @ 2021-06-19 18:28 池塘里洗澡的鸭子 阅读(853) 评论(0) 推荐(0) 编辑
Dubbo SPI机制之三Adaptive自适应功能
摘要:JDK标准中SPI机制的一个问题就是其一次性实例化扩展点所有实现,如果有扩展实现初始化很耗时,但如果没用上也加载,会很浪费资源;扩展点加载失败,其他扩展点都用不了了。Dubbo是如何解决该问题动态的选择具体的扩展点呢?使用@Adaptive。 Dubbo中的Adaptive功能,主要解决的问题是如何 阅读全文
posted @ 2021-06-11 20:06 池塘里洗澡的鸭子 阅读(502) 评论(0) 推荐(0) 编辑
DubboSPI机制二之Dubbo中SPI初体验
摘要:Dubbo高级之一SPI机制之JDK中的SPI - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中阐述了JDK标准的SPI,并对其应用做了相应的实践。在实际应用中,很多框架都会对其进行扩展改进实现该框架下的SPI。为什么呢?根据dubbo的官方文档可知,dubbo对JDK标准的SPI的改 阅读全文
posted @ 2021-06-11 01:43 池塘里洗澡的鸭子 阅读(129) 评论(0) 推荐(0) 编辑
Dubbo SPI机制之一JDK中的SPI
摘要:首先简单阐述下什么是SPI:SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。目前有不少框架用它来做服务的扩展发现,简单来说,就是一种动态替换发现的机制。使用SPI机制的优势是实现解耦,使得第三方服务模块的装配控制逻辑与调用者的业务代码分 阅读全文
posted @ 2021-06-11 00:29 池塘里洗澡的鸭子 阅读(164) 评论(0) 推荐(0) 编辑

1 2 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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