| 程序包 | 说明 |
|---|---|
| com.weibo.api.motan.protocol.mock | |
| com.weibo.api.motan.protocol.rpc | |
| com.weibo.api.motan.transport |
| 限定符和类型 | 方法和说明 |
|---|---|
ProviderMessageRouter |
AbstractMockRpcProtocol.getMockProviderMessageRouter(URL url) |
| 限定符和类型 | 字段和说明 |
|---|---|
protected ConcurrentHashMap<String,ProviderMessageRouter> |
DefaultRpcExporter.ipPort2RequestRouter |
| 限定符和类型 | 方法和说明 |
|---|---|
protected ProviderMessageRouter |
DefaultRpcExporter.initRequestRouter(URL url) |
| 构造器和说明 |
|---|
DefaultRpcExporter(Provider<T> provider,
URL url,
ConcurrentHashMap<String,ProviderMessageRouter> ipPort2RequestRouter,
ConcurrentHashMap<String,Exporter<?>> exporterMap) |
| 限定符和类型 | 类和说明 |
|---|---|
class |
ProviderProtectedMessageRouter
TODO 可配置化策略
provider 消息处理分发:支持一定程度的自我防护
1) 如果接口只有一个方法,那么直接return true
2) 如果接口有多个方法,那么如果单个method超过 maxThread / 2 && totalCount > (maxThread * 3 / 4),那么return false;
3) 如果接口有多个方法(4个),同时总的请求数超过 maxThread * 3 / 4,同时该method的请求数超过 maxThead * 1 / 4, 那么return false
4) 其他场景return true
|
Copyright © 2017. All rights reserved.