随笔分类 - dubbo源码
摘要:AbstractInvoker抽象类,有三个继承类分别为DubboInvoker、RestInvoker、TripleInvoker,这种三种分别对应的是三个不同协议,分为dubbo、rest以及dubbo3推荐的triple协议。 AbstractInvoker抽象类中核心的方法有invoke方法
阅读全文
摘要:dubbo配置项手册 提供者暴露服务配置 org.apache.dubbo.config.ServiceConfig interface:服务接口名 ref:服务对象实现引用 version:服务版本,建议使用两位数字版本,如:1.0 group:服务分组,当一个接口有多个实现,可以用分组区分 de
阅读全文
摘要:底层接口 Registry 接口:继承RegistryService与Node两个接口 RegistryService 接口:定义了Registry的注册、注销、订阅、取消订阅事件、lookup接口 Node 接口:定义getUrl、isAvailable、destroy接口 中间层接口 Regis
阅读全文
摘要:AdaptiveLoadBalance使用AdaptiveLoadBalanceFilter初始化的数据。 核心处理 org.apache.dubbo.rpc.cluster.loadbalance.AdaptiveLoadBalance#selectByP2C org.apache.dubbo.r
阅读全文
摘要:提供者端限流 从调用url中获取接口、方法名、version、serviceKey,根据上面几个参数进行拼接限流key。 限流方式 DefaultTPSLimiter本地维护一个ConcurrenMap,key为限流的key(接口、方法名、version、serviceKey),value为Sta
阅读全文
摘要:服务消费者端限流 ActiveLimitFilter限制客户端对interface或method的并发客户端调用。 限流方式 从url中获取actives并发数量,actives大于0进行并发控制,actives小于等于0不控制。 消费者端使用RpcStatus下的ConcurrentMap<Str
阅读全文
摘要:消费者端使用 自适应负载方式 dubbo负载方式介绍 随机、循环负载平衡、最少活动、参数的一致性哈希、成功调用响应时间最短、自适应负载平衡 AdaptiveLoadBalanceFilter 内部使用ThreadPoolExecutor线程池处理,核心、最大线程数据为1,队列为1024个 初始化Th
阅读全文
摘要:服务提供者类增加注解@DubboService(cache = "true") 指定服务调用的缓存实现,包括:lru, threadlocal, jcache。 提供者 @DubboService(token = "true", cache = "true") public class CacheS
阅读全文
摘要:java调用其他api时,一般都是需要引用对应的jar包,在使用对应的出入参Class进行调用api接口,还是通过泛化方式即接口全路径、接口名称、入参为Map、出参为Map 通过这种方式可以屏蔽远程依赖。 泛化调用核心接口 根据传入的接口方法、入参类型字符串数组、入参值字符数组、 public in
阅读全文