Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessKeyPair ¶ added in v1.4.0
type AccessKeyPair struct { AccessKey string `yaml:"accessKey" json:"accessKey,omitempty" property:"accessKey"` SecretKey string `yaml:"secretKey" json:"secretKey,omitempty" property:"secretKey"` ConsumerSide string `yaml:"consumerSide" json:"ConsumerSide,consumerSide" property:"consumerSide"` ProviderSide string `yaml:"providerSide" json:"providerSide,omitempty" property:"providerSide"` Creator string `yaml:"creator" json:"creator,omitempty" property:"creator"` Options string `yaml:"options" json:"options,omitempty" property:"options"` }
type AccessKeyStorage ¶ added in v1.4.0
type AccessKeyStorage interface {
GetAccessKeyPair(protocol.Invocation, *common.URL) *AccessKeyPair
}
AccessKeyStorage This SPI Extension support us to store our AccessKeyPair or load AccessKeyPair from other storage, such as filesystem.
type Authenticator ¶ added in v1.4.0
type Authenticator interface { // Sign // give a sign to request Sign(protocol.Invocation, *common.URL) error // Authenticate // verify the signature of the request is valid or not Authenticate(protocol.Invocation, *common.URL) error }
Authenticator
type Filter ¶
type Filter interface { Invoke(context.Context, protocol.Invoker, protocol.Invocation) protocol.Result OnResponse(context.Context, protocol.Result, protocol.Invoker, protocol.Invocation) protocol.Result }
Filter Extension - Filter
type RejectedExecutionHandler ¶ added in v1.3.0
type RejectedExecutionHandler interface {
RejectedExecution(url common.URL, invocation protocol.Invocation) protocol.Result
}
*
- RejectedExecutionHandler
- 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
}
* TpsLimitStrategy * 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
}
TpsLimitStrategyCreator ...
type TpsLimiter ¶ added in v1.3.0
type TpsLimiter interface {
IsAllowable(common.URL, protocol.Invocation) bool
}
* TpsLimiter * 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",