过滤器(九)之TpsLimitFilter
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文分享 TpsLimitFilter 过滤器,用于服务提供者中,提供 限流 的功能。 配置方式 ① 通过 配置项,添加到 或 或 中开启,例如: <dubbo:service interface="com.alibaba.dubbo.demo.DemoService" ref="demoServiceImpl" ...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文分享 TpsLimitFilter 过滤器,用于服务提供者中,提供 限流 的功能。 配置方式 ① 通过 配置项,添加到 或 或 中开启,例如: <dubbo:service interface="com.alibaba.dubbo.demo.DemoService" ref="demoServiceImpl" ...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文分享 TokenFilter 过滤器,用于服务提供者中,提供 令牌验证 的功能。在 《Dubbo 用户指南 —— 令牌验证》 定义如下: 通过令牌验证在注册中心控制权限,以决定要不要下发令牌给消费者,可以防止消费者绕过注册中心访问提供者。 另外通过注册中心可灵活改变授权方式,而不需修改或升级提供者。 官方文...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文分享异常过滤器 ExceptionFilter ,用于服务提供者中。用途如下: FROM ExceptionFilter 上的注释: 不期望的异常打 ERROR 日志( Provider端 )。不期望的日志即是,没有的接口上声明的Unchecked异常。 异常不在 API 包中,则 Wrap 一层 Runti...
经验 要求:考试时间一共一个半小时。语言用C/C++,编译器不做限制,可用VC++6.0、DevC++和CodeBlocks。建议用CodeBlocks,因为它有代码提示,用起来也很顺手。 1.关于梅森素数。所谓梅森数,是指形如2p-1的一类数,其中指数p是素数,常记为M(p)。如果p是素数的同时,梅森数(即2p-1)也是素数,就称这个梅森数为梅森素数。输入一个长整型数n,输...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文分享过滤器 DeprecatedFilter ,用于服务消费者中,通过 <dubbo: service /> 或 或 的 “deprecated” 配置项为 true 来开启。 2. DeprecatedFilter com.alibaba.dubbo.rpc.filter.DeprecatedFilt...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文分享过滤器 TimeoutFilter ,用于服务提供者中。 2. TimeoutFilter com.alibaba.dubbo.rpc.filter.TimeoutFilter ,实现 Filter 接口,超时过滤器。如果服务调用超时,记录告警日志,不干涉服务的运行。代码如下: @Activate(group =...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文分享服务方法的最大可并行调用的限制过滤器,在服务消费者和服务提供者各有一个 LimitFilter : ActiveLimitFilter ,在服务消费者,通过统一每服务每方法的 “actives” 配置项开启:每服务消费者,每服务每方法的最大并发调用数。 ExecuteLimitFilter ,在服务提供者,...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文分享记录访问日志的过滤器 AccessLogFilter ,需要在 <dubbo:service> 或 <dubbo:reference> 或 <dubbo:method> 中,设置 “accesslog” 配置项开启。有两种配置项选择: 【配置方式一】true:将向日志组件 l...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 本文分享 RpcContext 相关过滤器,包括两个: ConsumerContextFilter :在服务消费者发起调用时中使用,负责初始化 RpcContext 。 ContextFilter :在服务提供者被调用时中使用,负责初始化 RpcContext 。 2. RpcContext RpcConte...
本文基于 Dubbo 2.6.1 版本,望知悉。 1. 概述 从本文开始,我们来分享 Dubbo 的过滤器们。在 ProtocolFilterWrapper 中,在服务引用和暴露时,#buildInvokerChain(invoker, key, group) 方法中,基于 Dubbo SPI Active 机制,加载匹配对应的过滤器数组,创建带有过滤器链的 Invoker 对象。代码如...