Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
thythm
ribbon
提交
76200320
R
ribbon
项目概览
thythm
/
ribbon
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
ribbon
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
76200320
编写于
4月 11, 2014
作者:
A
Allen Wang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Moving classes from client to loadbalancer package.
上级
ca94e69f
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
31 addition
and
25 deletion
+31
-25
ribbon-loadbalancer/src/main/java/com/netflix/client/AbstractLoadBalancerAwareClient.java
...a/com/netflix/client/AbstractLoadBalancerAwareClient.java
+4
-1
ribbon-loadbalancer/src/main/java/com/netflix/loadbalancer/ClientCallableProvider.java
...java/com/netflix/loadbalancer/ClientCallableProvider.java
+1
-2
ribbon-loadbalancer/src/main/java/com/netflix/loadbalancer/ClientObservableProvider.java
...va/com/netflix/loadbalancer/ClientObservableProvider.java
+1
-2
ribbon-loadbalancer/src/main/java/com/netflix/loadbalancer/LoadBalancerContext.java
...in/java/com/netflix/loadbalancer/LoadBalancerContext.java
+8
-3
ribbon-loadbalancer/src/main/java/com/netflix/loadbalancer/LoadBalancerExecutor.java
...n/java/com/netflix/loadbalancer/LoadBalancerExecutor.java
+7
-7
ribbon-loadbalancer/src/test/java/com/netflix/loadbalancer/LoadBalancerContextTest.java
...ava/com/netflix/loadbalancer/LoadBalancerContextTest.java
+2
-2
ribbon-rxnetty/src/main/java/com/netflix/client/netty/http/AbstractLoadBalancingClient.java
...etflix/client/netty/http/AbstractLoadBalancingClient.java
+1
-1
ribbon-rxnetty/src/main/java/com/netflix/client/netty/http/NettyHttpClient.java
...n/java/com/netflix/client/netty/http/NettyHttpClient.java
+2
-2
ribbon-rxnetty/src/main/java/com/netflix/client/netty/http/NettyHttpLoadBalancingClient.java
...tflix/client/netty/http/NettyHttpLoadBalancingClient.java
+2
-2
ribbon-rxnetty/src/main/java/com/netflix/client/netty/http/SSEClient.java
...rc/main/java/com/netflix/client/netty/http/SSEClient.java
+1
-1
ribbon-rxnetty/src/main/java/com/netflix/client/netty/http/SSELoadBalancingClient.java
...com/netflix/client/netty/http/SSELoadBalancingClient.java
+2
-2
未找到文件。
ribbon-loadbalancer/src/main/java/com/netflix/client/AbstractLoadBalancerAwareClient.java
浏览文件 @
76200320
...
...
@@ -29,7 +29,9 @@ import com.netflix.client.config.CommonClientConfigKey;
import
com.netflix.client.config.IClientConfig
;
import
com.netflix.loadbalancer.AbstractLoadBalancer
;
import
com.netflix.loadbalancer.AvailabilityFilteringRule
;
import
com.netflix.loadbalancer.ClientCallableProvider
;
import
com.netflix.loadbalancer.ILoadBalancer
;
import
com.netflix.loadbalancer.LoadBalancerExecutor
;
import
com.netflix.loadbalancer.LoadBalancerStats
;
import
com.netflix.loadbalancer.Server
;
import
com.netflix.loadbalancer.ServerStats
;
...
...
@@ -37,7 +39,8 @@ import com.netflix.servo.monitor.Monitors;
import
com.netflix.servo.monitor.Stopwatch
;
import
com.netflix.servo.monitor.Timer
;
import
com.netflix.utils.RxUtils
;
import
static
com
.
netflix
.
client
.
LoadBalancerExecutor
.
CallableToObservable
.
toObsevableProvider
;
import
static
com
.
netflix
.
loadbalancer
.
LoadBalancerExecutor
.
CallableToObservable
.
toObsevableProvider
;
/**
* Abstract class that provides the integration of client with load balancers.
...
...
ribbon-loadbalancer/src/main/java/com/netflix/
client
/ClientCallableProvider.java
→
ribbon-loadbalancer/src/main/java/com/netflix/
loadbalancer
/ClientCallableProvider.java
浏览文件 @
76200320
package
com.netflix.
client
;
package
com.netflix.
loadbalancer
;
import
com.netflix.loadbalancer.Server
;
public
interface
ClientCallableProvider
<
T
>
{
...
...
ribbon-loadbalancer/src/main/java/com/netflix/
client
/ClientObservableProvider.java
→
ribbon-loadbalancer/src/main/java/com/netflix/
loadbalancer
/ClientObservableProvider.java
浏览文件 @
76200320
package
com.netflix.
client
;
package
com.netflix.
loadbalancer
;
import
rx.Observable
;
import
com.netflix.loadbalancer.Server
;
public
interface
ClientObservableProvider
<
T
>
{
...
...
ribbon-loadbalancer/src/main/java/com/netflix/
client
/LoadBalancerContext.java
→
ribbon-loadbalancer/src/main/java/com/netflix/
loadbalancer
/LoadBalancerContext.java
浏览文件 @
76200320
...
...
@@ -15,11 +15,10 @@
* limitations under the License.
*
*/
package
com.netflix.
client
;
package
com.netflix.
loadbalancer
;
import
java.net.URI
;
import
java.net.URISyntaxException
;
import
java.net.URLEncoder
;
import
java.util.concurrent.TimeUnit
;
import
javax.annotation.Nullable
;
...
...
@@ -28,6 +27,12 @@ import org.slf4j.Logger;
import
org.slf4j.LoggerFactory
;
import
com.google.common.base.Strings
;
import
com.netflix.client.ClientException
;
import
com.netflix.client.ClientRequest
;
import
com.netflix.client.DefaultLoadBalancerRetryHandler
;
import
com.netflix.client.IClientConfigAware
;
import
com.netflix.client.RetryHandler
;
import
com.netflix.client.ClientException.ErrorType
;
import
com.netflix.client.config.CommonClientConfigKey
;
import
com.netflix.client.config.DefaultClientConfigImpl
;
import
com.netflix.client.config.IClientConfig
;
...
...
@@ -61,7 +66,7 @@ public class LoadBalancerContext implements IClientConfigAware {
protected
RetryHandler
errorHandler
=
new
DefaultLoadBalancerRetryHandler
();
boolean
okToRetryOnAllOperations
=
DefaultClientConfigImpl
.
DEFAULT_OK_TO_RETRY_ON_ALL_OPERATIONS
.
booleanValue
();
protected
boolean
okToRetryOnAllOperations
=
DefaultClientConfigImpl
.
DEFAULT_OK_TO_RETRY_ON_ALL_OPERATIONS
.
booleanValue
();
private
ILoadBalancer
lb
;
...
...
ribbon-loadbalancer/src/main/java/com/netflix/
client
/LoadBalancerExecutor.java
→
ribbon-loadbalancer/src/main/java/com/netflix/
loadbalancer
/LoadBalancerExecutor.java
浏览文件 @
76200320
package
com.netflix.
client
;
package
com.netflix.
loadbalancer
;
import
java.net.URI
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -13,13 +13,13 @@ import rx.Observable;
import
rx.Observable.OnSubscribeFunc
;
import
rx.Observer
;
import
rx.Subscription
;
import
rx.functions.Func1
;
import
rx.subscriptions.Subscriptions
;
import
rx.util.functions.Func1
;
import
com.netflix.client.ClientException
;
import
com.netflix.client.DefaultLoadBalancerRetryHandler
;
import
com.netflix.client.RetryHandler
;
import
com.netflix.client.config.IClientConfig
;
import
com.netflix.loadbalancer.ILoadBalancer
;
import
com.netflix.loadbalancer.Server
;
import
com.netflix.loadbalancer.ServerStats
;
import
com.netflix.servo.monitor.Stopwatch
;
import
com.netflix.utils.RxUtils
;
...
...
@@ -188,7 +188,7 @@ public class LoadBalancerExecutor extends LoadBalancerContext {
* of this {@link LoadBalancerExecutor} will be used.
* @param loadBalancerKey An optional key passed to the load balancer to determine which server to return.
*/
<
T
>
Observable
<
T
>
executeWithLoadBalancer
(
final
ClientObservableProvider
<
T
>
clientObservableProvider
,
@Nullable
final
URI
loadBalancerURI
,
protected
<
T
>
Observable
<
T
>
executeWithLoadBalancer
(
final
ClientObservableProvider
<
T
>
clientObservableProvider
,
@Nullable
final
URI
loadBalancerURI
,
@Nullable
final
RetryHandler
retryHandler
,
@Nullable
final
Object
loadBalancerKey
)
{
OnSubscribeFunc
<
T
>
onSubscribe
=
new
OnSubscribeFunc
<
T
>()
{
@Override
...
...
@@ -209,7 +209,7 @@ public class LoadBalancerExecutor extends LoadBalancerContext {
return
observable
.
onErrorResumeNext
(
retryNextServerFunc
);
}
<
T
>
Observable
<
T
>
retrySameServer
(
final
Server
server
,
final
ClientObservableProvider
<
T
>
clientObservableProvider
,
final
RetryHandler
errorHandler
)
{
protected
<
T
>
Observable
<
T
>
retrySameServer
(
final
Server
server
,
final
ClientObservableProvider
<
T
>
clientObservableProvider
,
final
RetryHandler
errorHandler
)
{
final
ServerStats
serverStats
=
getServerStats
(
server
);
OnSubscribeFunc
<
T
>
onSubscribe
=
new
OnSubscribeFunc
<
T
>()
{
@Override
...
...
ribbon-loadbalancer/src/test/java/com/netflix/
client
/LoadBalancerContextTest.java
→
ribbon-loadbalancer/src/test/java/com/netflix/
loadbalancer
/LoadBalancerContextTest.java
浏览文件 @
76200320
...
...
@@ -15,7 +15,7 @@
* limitations under the License.
*
*/
package
com.netflix.
client
;
package
com.netflix.
loadbalancer
;
import
static
org
.
junit
.
Assert
.*;
...
...
@@ -76,7 +76,7 @@ public class LoadBalancerContextTest {
@Test
public
void
testEncodedQuery
()
throws
Exception
{
String
uri
=
"http://localhost:8080/resources/abc?"
;
String
queryString
=
"name="
+
URLEncoder
.
encode
(
"
éƎ
&=*%!@#$%^&*()"
,
"UTF-8"
);
String
queryString
=
"name="
+
URLEncoder
.
encode
(
"
????
&=*%!@#$%^&*()"
,
"UTF-8"
);
URI
request
=
new
URI
(
uri
+
queryString
);
Server
server
=
context
.
getServerFromLoadBalancer
(
request
,
null
);
URI
newURI
=
context
.
reconstructURIWithServer
(
server
,
request
);
...
...
ribbon-rxnetty/src/main/java/com/netflix/client/netty/http/AbstractLoadBalancingClient.java
浏览文件 @
76200320
...
...
@@ -4,10 +4,10 @@ import io.netty.handler.codec.http.HttpMethod;
import
io.reactivex.netty.protocol.http.client.HttpClientRequest
;
import
io.reactivex.netty.protocol.http.client.RepeatableContentHttpRequest
;
import
com.netflix.client.LoadBalancerExecutor
;
import
com.netflix.client.RequestSpecificRetryHandler
;
import
com.netflix.client.RetryHandler
;
import
com.netflix.client.config.IClientConfig
;
import
com.netflix.loadbalancer.LoadBalancerExecutor
;
import
com.netflix.loadbalancer.Server
;
import
com.netflix.loadbalancer.ServerStats
;
...
...
ribbon-rxnetty/src/main/java/com/netflix/client/netty/http/NettyHttpClient.java
浏览文件 @
76200320
...
...
@@ -40,12 +40,12 @@ import rx.Observer;
import
com.google.common.base.Preconditions
;
import
com.google.common.base.Strings
;
import
com.netflix.client.ClientObservableProvider
;
import
com.netflix.client.LoadBalancerExecutor
;
import
com.netflix.client.config.CommonClientConfigKey
;
import
com.netflix.client.config.DefaultClientConfigImpl
;
import
com.netflix.client.config.IClientConfig
;
import
com.netflix.client.config.IClientConfigKey
;
import
com.netflix.loadbalancer.ClientObservableProvider
;
import
com.netflix.loadbalancer.LoadBalancerExecutor
;
import
com.netflix.loadbalancer.Server
;
import
com.netflix.serialization.TypeDef
;
...
...
ribbon-rxnetty/src/main/java/com/netflix/client/netty/http/NettyHttpLoadBalancingClient.java
浏览文件 @
76200320
...
...
@@ -23,11 +23,11 @@ import io.reactivex.netty.protocol.http.client.HttpClientResponse;
import
io.reactivex.netty.protocol.http.client.RepeatableContentHttpRequest
;
import
rx.Observable
;
import
com.netflix.client.ClientObservableProvider
;
import
com.netflix.client.LoadBalancerExecutor
;
import
com.netflix.client.RetryHandler
;
import
com.netflix.client.config.IClientConfig
;
import
com.netflix.loadbalancer.ClientObservableProvider
;
import
com.netflix.loadbalancer.ILoadBalancer
;
import
com.netflix.loadbalancer.LoadBalancerExecutor
;
import
com.netflix.loadbalancer.Server
;
public
class
NettyHttpLoadBalancingClient
extends
AbstractLoadBalancingClient
{
...
...
ribbon-rxnetty/src/main/java/com/netflix/client/netty/http/SSEClient.java
浏览文件 @
76200320
...
...
@@ -14,9 +14,9 @@ import io.reactivex.netty.protocol.http.client.HttpClient.HttpClientConfig;
import
io.reactivex.netty.protocol.text.sse.ServerSentEvent
;
import
com.google.common.base.Preconditions
;
import
com.netflix.client.ClientObservableProvider
;
import
com.netflix.client.config.IClientConfig
;
import
com.netflix.client.config.IClientConfigKey
;
import
com.netflix.loadbalancer.ClientObservableProvider
;
import
com.netflix.loadbalancer.Server
;
public
class
SSEClient
extends
AbstractNettyHttpClient
<
ServerSentEvent
>
{
...
...
ribbon-rxnetty/src/main/java/com/netflix/client/netty/http/SSELoadBalancingClient.java
浏览文件 @
76200320
...
...
@@ -6,11 +6,11 @@ import io.reactivex.netty.protocol.http.client.RepeatableContentHttpRequest;
import
io.reactivex.netty.protocol.text.sse.ServerSentEvent
;
import
rx.Observable
;
import
com.netflix.client.ClientObservableProvider
;
import
com.netflix.client.LoadBalancerExecutor
;
import
com.netflix.client.RetryHandler
;
import
com.netflix.client.config.IClientConfig
;
import
com.netflix.loadbalancer.ClientObservableProvider
;
import
com.netflix.loadbalancer.ILoadBalancer
;
import
com.netflix.loadbalancer.LoadBalancerExecutor
;
import
com.netflix.loadbalancer.Server
;
public
class
SSELoadBalancingClient
extends
AbstractLoadBalancingClient
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录