当前位置: 首页 > wzjs >正文

哈尔滨最新疫情出入政策杭州seo教程

哈尔滨最新疫情出入政策,杭州seo教程,怎么做淘宝客网站和APP,网站需要域名吗Dubbo 框架内置的并发控制策略 简介 Dubbo 通过 Filter 拦截器机制,内置了并发控制策略实现。限制从同一客户端到同一服务的并发请求数,防止恶意请求使服务器过载,确保服务的稳定性,并防止使用过多资源。 控制某些服务的最大并…

Dubbo 框架内置的并发控制策略

简介

Dubbo 通过 Filter 拦截器机制,内置了并发控制策略实现。限制从同一客户端到同一服务的并发请求数,防止恶意请求使服务器过载,确保服务的稳定性,并防止使用过多资源。

  • 控制某些服务的最大并发请求数,确保其他服务的资源可用性。系统过载和确保系统稳定性。
  • 允许在需求增加时更平滑地扩展服务。
  • 确保服务在高峰使用时间保持可靠和稳定。

注意
这种方式要求用户准确的预先评估系统能处理的并发数,而准确的评估系统处理能力并不是一件容易的事情,因此 Dubbo 还提供了自适应限流模式,根据系统负载自动识别系统健康程度并进行限流保护,可以在此查看 自适应限流模式使用文档。

限流策略配置

限制服务器端并发执行数(服务粒度)
@DubboService(executes = 2)
public class DemoService2Impl implements DemoService2 {}
限制服务器端并发执行数(方法粒度)
@DubboService(methods = {@Method(name = "sayHello", executes = 2)})
public class DemoService2Impl implements DemoService2 {}

错误提示

{"message": "Failed to invoke method sayHello in provider tri://169.254.90.232:50051/com.doudou.demo.api.DemoService2?anyhost=true&application=ServiceApplication01&background=false&bind.ip=169.254.90.232&bind.port=50051&deprecated=false&dubbo=2.0.2&dynamic=true&executor-management-mode=isolation&file-cache=true&generic=false&interface=com.doudou.demo.api.DemoService2&logger=slf4j&methods=sayHello,sayHello2&pid=46271&prefer.serialization=hessian2,fastjson2&qos.port=22224&release=3.3.0&sayHello.executes=2&sayHello.return=true&sayHello.sent=true&service-name-mapping=true&side=provider&timestamp=1743334632734, cause: The service using threads greater than <dubbo:service executes=\"2\" /> limited.", "status": "503"
}
限制消费端并发调用数(服务粒度)
@DubboReference(actives = 4)
private DemoService2 demoService;

错误提示

org.apache.dubbo.rpc.RpcException: Waiting concurrent invoke timeout in client-side for service:  com.doudou.demo.api.DemoService2, method: sayHello2, elapsed: 543, timeout: 0. concurrent invokes: 0. max concurrent invoke limit: 4at org.apache.dubbo.rpc.filter.ActiveLimitFilter.invoke(ActiveLimitFilter.java:76) ~[dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:197) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.protocol.ReferenceCountInvokerWrapper.invoke(ReferenceCountInvokerWrapper.java:106) ~[dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory$InstanceWrappedInvoker.invoke(ServiceDiscoveryRegistryDirectory.java:800) ~[dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invokeWithContext(AbstractClusterInvoker.java:412) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:82) ~[dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:366) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.router.RouterSnapshotFilter.invoke(RouterSnapshotFilter.java:46) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:109) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.support.MetricsClusterFilter.invoke(MetricsClusterFilter.java:57) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:53) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.spring.security.filter.ContextHolderParametersSelectedTransferFilter.invoke(ContextHolderParametersSelectedTransferFilter.java:40) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.metrics.filter.MetricsFilter.invoke(MetricsFilter.java:86) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.support.MetricsConsumerFilter.invoke(MetricsConsumerFilter.java:38) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.support.ConsumerClassLoaderFilter.invoke(ConsumerClassLoaderFilter.java:40) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter.invoke(ConsumerContextFilter.java:119) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:197) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$ClusterFilterInvoker.invoke(AbstractCluster.java:101) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:107) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.support.wrapper.ScopeClusterInvoker.invoke(ScopeClusterInvoker.java:171) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.registry.client.migration.MigrationInvoker.invoke(MigrationInvoker.java:294) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:64) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:81) [dubbo-3.3.0.jar:3.3.0]at com.doudou.demo.api.DemoService2DubboProxy0.sayHello2(DemoService2DubboProxy0.java) [classes/:na]at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_202]at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_202]at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_202]at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_202]at org.apache.dubbo.config.spring.util.LazyTargetInvocationHandler.invoke(LazyTargetInvocationHandler.java:54) [dubbo-3.3.0.jar:3.3.0]at com.doudou.demo.api.DemoService2DubboProxy0.sayHello2(DemoService2DubboProxy0.java) [classes/:na]at com.doudou.demo.consumer.Task01.lambda$run$1(Task01.java:41) [classes/:na]at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_202]at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_202]at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_202]
限制消费端并发调用数(方法粒度)
@DubboReference(methods = {@Method(name = "sayHello", actives = 2)})
private DemoService2 demoService;

错误提示

org.apache.dubbo.rpc.RpcException: Waiting concurrent invoke timeout in client-side for service:  com.doudou.demo.api.DemoService2, method: sayHello, elapsed: 543, timeout: 0. concurrent invokes: 0. max concurrent invoke limit: 2at org.apache.dubbo.rpc.filter.ActiveLimitFilter.invoke(ActiveLimitFilter.java:76) ~[dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:197) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.protocol.ReferenceCountInvokerWrapper.invoke(ReferenceCountInvokerWrapper.java:106) ~[dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory$InstanceWrappedInvoker.invoke(ServiceDiscoveryRegistryDirectory.java:800) ~[dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invokeWithContext(AbstractClusterInvoker.java:412) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:82) ~[dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:366) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.router.RouterSnapshotFilter.invoke(RouterSnapshotFilter.java:46) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:109) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.support.MetricsClusterFilter.invoke(MetricsClusterFilter.java:57) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:53) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.spring.security.filter.ContextHolderParametersSelectedTransferFilter.invoke(ContextHolderParametersSelectedTransferFilter.java:40) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.metrics.filter.MetricsFilter.invoke(MetricsFilter.java:86) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.support.MetricsConsumerFilter.invoke(MetricsConsumerFilter.java:38) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.support.ConsumerClassLoaderFilter.invoke(ConsumerClassLoaderFilter.java:40) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter.invoke(ConsumerContextFilter.java:119) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:349) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:197) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$ClusterFilterInvoker.invoke(AbstractCluster.java:101) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:107) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.cluster.support.wrapper.ScopeClusterInvoker.invoke(ScopeClusterInvoker.java:171) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.registry.client.migration.MigrationInvoker.invoke(MigrationInvoker.java:294) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:64) [dubbo-3.3.0.jar:3.3.0]at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:81) [dubbo-3.3.0.jar:3.3.0]at com.doudou.demo.api.DemoService2DubboProxy0.sayHello(DemoService2DubboProxy0.java) [classes/:na]at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_202]at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_202]at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_202]at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_202]at org.apache.dubbo.config.spring.util.LazyTargetInvocationHandler.invoke(LazyTargetInvocationHandler.java:54) [dubbo-3.3.0.jar:3.3.0]at com.doudou.demo.api.DemoService2DubboProxy0.sayHello(DemoService2DubboProxy0.java) [classes/:na]at com.doudou.demo.consumer.Task01.lambda$run$0(Task01.java:34) [classes/:na]at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_202]at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_202]at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_202]

如果提供端 @DubboService 和消费端 @DubboReference 都配了 actives,则消费端配置值优先级更高

最小并发数负载均衡

配置服务的客户端的 loadbalance 属性为 leastactive,此 Loadbalance 会调用并发数最小的 Provider(Consumer端并发数)。

@DubboService(loadbalance = "leastactive")
public class DemoService2Impl implements DemoService2 {}@DubboReference(loadbalance = "leastactive")
private DemoService2 demoService;
http://www.dtcms.com/wzjs/356006.html

相关文章:

  • 深圳商城网站建设报价营销策划咨询
  • 成都网站设计制作工作室百度地图3d实景地图
  • 网站建设与管理方向谷歌google官网入口
  • 织梦后台点击网站主页免费推广网站排行榜
  • 无限站点建站系统网站seo排名优化工具在线
  • 网站建设人员组织搜索引擎大全
  • 唐山专门做网站做网站怎么赚钱
  • 广州越秀区最新疫情seo搜索引擎优化技术教程
  • 网站版建设济南网站建设制作
  • 网站简单化常州网络推广哪家好
  • 哈尔滨建站人9个成功的市场营销案例
  • 公司电脑做网站青岛seo青岛黑八网络最强
  • 显示网站正在建设中搜狗营销
  • 青海旅游的网站建设营销网站
  • 企业营销网站建设策划书华为手机软文范文300
  • 鸿川建设工程有限公司官方网站网络营销相关工作岗位
  • 最近三天的新闻大事摘抄seo推广费用需要多少
  • 上海响应式网站建设推荐网店seo排名优化
  • 福州光电网站建设市场营销平台
  • 品网站建设公司免费推客推广平台
  • 深圳市建设管理中心网站首页百度推广怎么才能效果好
  • 自己如何做网站优化关键词优化公司排名
  • 深圳比较好的建站公司青岛网站建设公司电话
  • 网站app怎么做的seo资讯
  • 衡水建设局网站黑帽seo365t技术
  • 做网站建设的合同百度一下免费下载
  • wordpress不适合大型网站百度小说风云排行榜
  • 网站怎么做图片动态图片不显示了2022世界足球排行榜
  • 云服务器网站建设常州seo排名收费
  • 站长工具麻豆看广告赚钱的平台