@@ -270,14 +270,28 @@ func RateLimitInterceptorProvider(
270
270
}
271
271
272
272
func NamespaceRateLimitInterceptorProvider (
273
+ serviceName primitives.ServiceName ,
273
274
serviceConfig * Config ,
274
275
namespaceRegistry namespace.Registry ,
275
276
frontendServiceResolver membership.ServiceResolver ,
276
277
) * interceptor.NamespaceRateLimitInterceptor {
278
+ var globalNamespaceRPS , globalNamespaceVisibilityRPS dynamicconfig.IntPropertyFnWithNamespaceFilter
279
+
280
+ switch serviceName {
281
+ case primitives .FrontendService :
282
+ globalNamespaceRPS = serviceConfig .GlobalNamespaceRPS
283
+ globalNamespaceVisibilityRPS = serviceConfig .GlobalNamespaceVisibilityRPS
284
+ case primitives .InternalFrontendService :
285
+ globalNamespaceRPS = serviceConfig .InternalFEGlobalNamespaceRPS
286
+ globalNamespaceVisibilityRPS = serviceConfig .InternalFEGlobalNamespaceVisibilityRPS
287
+ default :
288
+ panic ("invalid service name" )
289
+ }
290
+
277
291
rateFn := func (namespace string ) float64 {
278
292
return namespaceRPS (
279
293
serviceConfig .MaxNamespaceRPSPerInstance ,
280
- serviceConfig . GlobalNamespaceRPS ,
294
+ globalNamespaceRPS ,
281
295
frontendServiceResolver ,
282
296
namespace ,
283
297
)
@@ -286,7 +300,7 @@ func NamespaceRateLimitInterceptorProvider(
286
300
visibilityRateFn := func (namespace string ) float64 {
287
301
return namespaceRPS (
288
302
serviceConfig .MaxNamespaceVisibilityRPSPerInstance ,
289
- serviceConfig . GlobalNamespaceVisibilityRPS ,
303
+ globalNamespaceVisibilityRPS ,
290
304
frontendServiceResolver ,
291
305
namespace ,
292
306
)
@@ -393,8 +407,11 @@ func FEReplicatorNamespaceReplicationQueueProvider(
393
407
return replicatorNamespaceReplicationQueue
394
408
}
395
409
396
- func ServiceResolverProvider (membershipMonitor membership.Monitor ) (membership.ServiceResolver , error ) {
397
- return membershipMonitor .GetResolver (primitives .FrontendService )
410
+ func ServiceResolverProvider (
411
+ membershipMonitor membership.Monitor ,
412
+ serviceName primitives.ServiceName ,
413
+ ) (membership.ServiceResolver , error ) {
414
+ return membershipMonitor .GetResolver (serviceName )
398
415
}
399
416
400
417
func AdminHandlerProvider (
0 commit comments