Documentation
¶
Overview ¶
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Filter ¶
type Filter interface {
Invoke(protocol.Invoker, protocol.Invocation) protocol.Result
OnResponse(protocol.Result, protocol.Invoker, protocol.Invocation) protocol.Result
}
Extension - Filter
type RejectedExecutionHandler ¶ added in v1.3.0
type RejectedExecutionHandler interface {
RejectedExecution(url common.URL, invocation protocol.Invocation) protocol.Result
}
*
- If the invocation cannot pass any validation in filter, like ExecuteLimitFilter and TpsLimitFilter,
- the implementation will be used.
- The common case is that sometimes you want to return the default value when the request was rejected.
- Or you want to be warned if any request was rejected.
- In such situation, implement this interface and register it by invoking extension.SetRejectedExecutionHandler.
type TpsLimitStrategy ¶ added in v1.3.0
type TpsLimitStrategy interface {
IsAllowable() bool
}
* please register your implementation by invoking SetTpsLimitStrategy * "UserProvider": * registry: "hangzhouzk" * protocol : "dubbo" * interface : "com.ikurento.user.UserProvider" * ... # other configuration * tps.limiter: "method-service" # the name of limiter * tps.limit.strategy: "name of implementation" # service-level * methods: * - name: "GetUser" * tps.interval: 3000 * tps.limit.strategy: "name of implementation" # method-level
type TpsLimitStrategyCreator ¶ added in v1.3.0
type TpsLimitStrategyCreator interface {
Create(rate int, interval int) TpsLimitStrategy
}
type TpsLimiter ¶ added in v1.3.0
type TpsLimiter interface {
IsAllowable(common.URL, protocol.Invocation) bool
}
* please register your implementation by invoking SetTpsLimiter * The usage, for example: * "UserProvider": * registry: "hangzhouzk" * protocol : "dubbo" * interface : "com.ikurento.user.UserProvider" * ... # other configuration * tps.limiter: "the name of limiter",
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.
|
* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. |
|
tps
Package filter is a generated GoMock package.
|
Package filter is a generated GoMock package. |
|
Package filter is a generated GoMock package.
|
Package filter is a generated GoMock package. |