リボンインスタンスのカスタム設定
プロファイル方式
#ここでは、サービスプロバイダのinstanceNameを使用する。
my-producer:
ribbon:
# リボンが使用するロードバランシングポリシーを表す
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
# 各サーバーでの最大再試行回数、ただし最初の呼び出しは含まない、同一サーバーでの最大再試行回数
MaxAutoRetries: 1
# 再試行する次のサーバーの最大数、再試行する次のサーバーの最大数
MaxAutoRetriesNextServer: 1
# リクエストタイムアウトやソケットリードタイムアウトを再試行するかどうか all operations can be retried for this client
OkToRetryOnAllOperations: true
# Interval to refresh the server list from the source
ServerListRefreshInterval: 2000
# Connect timeout used by Apache HttpCnt
ConnectTimeout: 3000
# Read timeout used by Apache HttpCnt
ReadTimeout: 3000
ジャワビーンズウェイ
カスタム設定
package ribbon;
import com.netflix.loadbalancer.IRule;
import com.netflix.loadbalancer.RoundRobinRule;
import org."Spring "フレームワーク.context.annotation.Bean;
import org."Spring "フレームワーク.context.annotation.Configuration;
@Configuration
public class DefaultRibbonClientConfiguration {
@Bean
public IRule ribbonDefaultRule() {
return new RoundRobinRule();
}
}
定義されたコンフィギュレーションの設定
package.iocoder."spring "クラウドネットフリックス.labx02.ribbondemo.consumer.config;
import org."Spring "フレームワーク.cloud.netflix.ribbon.RibbonClient;
import org."Spring "フレームワーク.cloud.netflix.ribbon.RibbonClients;
import org."Spring "フレームワーク.context.annotation.Configuration;
import ribbon.DefaultRibbonClientConfiguration;
import ribbon.UserProviderRibbonClientConfiguration;
@Configuration
@RibbonClients(
value = {
@RibbonClient(name = "demo-provider", configuration = UserProviderRibbonClientConfiguration.class) // クライアントレベルの構成
},
defaultConfiguration = DefaultRibbonClientConfiguration.class // グローバル構成
)
public class RibbonConfiguration {
}





