Spring cloud中Ribbon&RestTemplate&Feign&Hystrix&Zuul

导读

Ribbon做负载均衡,RestTemplate和Feign发起远程过程调用,整个服务的调用过程可描述为:Eureka Client从Eureka Server获取服务列表保存在本地,Ribbon做负载均衡,RestTemplate或Feign发起远程过程调用。
Feign是RestTemplate的进一步包装,它的底层就是RestTemplate;
RestTemplate集成了Ribbon;
Ribbon集成了Eureka Client;

Ribbon

Ribbon客户端的负载均衡实现,它内部提供了许多的负载均衡策略,当我们做远程服务的调用时它做客户端的负载均衡。

切换负载均衡策略

1.注解方式:

@Bean
public IRule myRule(){
   
	//return new RoundRobinRule();
	//return new RandomRule();
	return new RetryRule(); 

2.配置文件

#针对服务定负载均衡策略 下面的provider为服务名
provider.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.RandomRule
#给所有服务配置
ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.RandomRule

注:配置文件优先级高

Ribbon脱离Eureka

Ribbon可以和服务注册中心Eureka一起工作,从服务注册中心获取服务端的地址信息,也可以在配置文件中使用listOfServers字段来设置服务端地址。
配置文件配置

ribbon.eureka.enabled=false
ribbon.listOfServers=localhost:80,localhost:81

RestTemplate

简单使用

1依赖注入

@Bean
// 开启负载均衡
@LoadBalanced
RestTemplate restTemplate() {
   
	return new RestTemplate();
}

2.发起调用

//provider为服务名,RestTemplate可根据服务名做对应的地址URL映射(ip+port)
String url ="http://provider/getservice"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值