Dubbo
刘莅
黄沙百战穿金甲,不破楼兰终不还
展开
-
Apache Dubbo系列:Dubbo技术汇总
最近编写了若干与Dubbo相关的技术博客,今天汇总发给大家Apache Dubbo系列:ZooKeeper注册中心Apache Dubbo系列:Netty与Dubbo是如何对接的Apache Dubbo系列:集群容错整体架构Apache Dubbo系列:Dubbo线程模型Apache Dubbo系列:Dubbo的线程池策略Apache Dubbo系列:全链路异步Apache Dubbo系列:泛化调用Apache Dubbo系列:增强SPI...原创 2020-10-16 17:05:14 · 249 阅读 · 0 评论 -
Apache Dubbo系列:全链路异步
Dubbo从2.7.0版本开始,升级了对java8的支持,以JUC包下的CompletableFuture为基础,支持所有异步编程接口,解决了2.7.0版本之前异步调用功能使用上的不方便。Dubbo异步调用也是基于NIO的非阻塞能力实现的,服务消费端不需要启动多个线程即可完成并行调用多个远程服务,其调用流程如下:Dubbo2.7.0之前的弊端在2.7.0之前,Dubbo的服务消费者异步调用服务提供者的的方式如下:public interface UserService { .原创 2020-10-16 17:02:37 · 641 阅读 · 0 评论 -
Apache Dubbo系列:泛化调用
上一章,我们讲到了Dubbo的线程池策略,本章我们一起探讨,Dubbo如何实现泛化调用的。主要内容包括:1、什么是泛化调用2、泛化调用的三种方式3、如何使用4、源码分析推荐阅读:Apache Dubbo系列:集群容错整体架构Apache Dubbo系列:Dubbo线程模型Apache Dubbo系列:Dubbo的线程池策略什么是泛化调用我们基于Dubbo API搭建Dubbo服务时,服务消费端需要依赖于一个SDK二方包,其中存放这服务提供端提供的所有接口。泛.原创 2020-10-16 16:52:53 · 1164 阅读 · 1 评论 -
Apache Dubbo系列:Dubbo的线程池策略
概述我们上篇文章讲到,Dubbo提供了多种线程模型,是为了尽早的释放I/O线程,把耗时的业务分派给业务线程池,那么这里的线程池是什么类型的线程池呢?是我们所熟知的JAVA线程池吗?并不是,这里的线程池,也是Dubbo的扩展接口ThreadPool。ThreadPoolDubbo为我们提供了四种类型的线程池,分别是1、FixedThreadPool(默认),固定线程数的线程池。2、LimitedThreadPool,线程池的线程数随着并发量动态增加,但不会超过配置的阈值。3、Eag.原创 2020-10-16 16:47:17 · 2001 阅读 · 0 评论 -
Apache Dubbo系列:Dubbo线程模型
导读我们都知道,Dubbo使用默认的网络传输框架是Netty,服务提供方NettyServer使用两个NIO线程池EventLoopGroup(boss)和EventLoopGroup(worker),前者负责接收客户端的连接,并分发给后者处理。我们把这两个线程组成为I/O线程(或Netty线程)。如果服务提供方能快速处理客户端的请求,那么直接在I/O线程(Netty线程)上处理比较合适。否则(如查DB、请求三方接口等),需要将客户端的请求,分派(Dispatcher)给业务线程池(Dubbo.原创 2020-10-16 16:40:51 · 483 阅读 · 0 评论 -
Apache Dubbo系列:集群容错整体架构
本节为大家介绍Dubbo的集群容错的整体架构,让大家对整个集群容错层有一个整体的理解,并且让大家知道,集群容错层是如何工作的,每个组件的作用以及结构。导读在分布式环境中,为了避免单点故障,通常一个业务会部署在多台机器上。服务消费方调用时,如果服务提供方由于某些原因不可用,在Dubbo的集群容错的作用下,会自动根据某些容错策略选择可用的服务给消费方,以达到整个服务集群的高可用。集群容错在讲解源码前,我们先看一下集群容错的整体架构图和每个组件的作用。我们可以把Cluster看作是一个集群原创 2020-07-27 23:57:44 · 387 阅读 · 0 评论 -
Apache Dubbo系列:Netty与Dubbo是如何对接的
在 Dubbo 中,很多扩展点都是通过Dubbo SPI机制进行加载的,比如 Transporter、Cluster、LoadBalance 等。有时,有些扩展并不想在框架启动阶段被加载,而是希望在扩展方法被调用时,根据运行时参数进行加载(按需加载。由于Java SPI机制有性能问题,Dubbo SPI对Java SPI做了一定优化)。Dubbo 会为拓展接口生成具有代理功能的代码。然后通过 javassist 或 jdk 编译这段代码,得到 Class 类,最后再通过反射创建代理类。如果大家对Dubb原创 2020-07-27 23:48:02 · 876 阅读 · 0 评论 -
Apache Dubbo系列:增强SPI
Dubbo良好的扩展性与两个方面是密不可分的,一是Dubbo整体架构中,在合适的场景中巧妙的使用了设计模式,二是使用Dubbo SPI机制,使Dubbo的接口与实现完全解耦。在本次分享中,您可以了解如下知识点 JavaSPI机制 Java SPI机制的缺点 Dubbo SPI配置规范 Dubbo SPI的分类与缓存 Dubbo SPI的特点 Dubbo SPI源码分析 Dubbo对IOC的支持 JavaSPI机制SPI,全称S..原创 2020-07-26 23:08:13 · 387 阅读 · 0 评论