您的位置:首页 > 编程语言 > Java开发

SpringCloud+Ribbon(负载均衡)

2018-01-25 20:22 686 查看
软负载均衡的实现方式有两种,分别是服务端的负载均衡和客户端的负载均衡
服务端负载均衡:当浏览器向后台发出请求的时候,会首先向反向代理服务器发送请求,反向代理服务器会根据客户端部署的ip:port映射表以及负载均衡策略,来决定向哪台服务器发送请求,一般会使用到nginx反向代理技术。
客户端负载均衡:当浏览器向后台发出请求的时候,客户端会向服务注册器(例如:Eureka Server),拉取注册到服务器的可用服务信息,然后根据负载均衡策略,直接命中哪台服务器发送请求。这整个过程都是在客户端完成的,并不需要反向代理服务器的参与。
ribbon
用以实现负载均衡;实现软负载均衡,核心有三点:
服务发现,发现依赖服务的列表
服务选择规则,在多个服务中如何选择一个有效服务
服务监听,检测失效的服务,高效剔除失效服务
我们使用这个非常简单
只需要加上下面注解
@EnableEurekaClient
@SpringBootApplication
@MapperScan(basePackages = {"com.xiaobudiankeji.base.dao"})
public class Biz2Application {

public static void main(String[] args) {
SpringApplication.run(Biz2Application.class, args);
}

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

直接就可以调用了
@RestController
@RequestMapping("index")
public class IndexController {

@Autowired
private RestTemplate restTemplate;

String host = "http://SERVICE-BIZ"; //biz服务的名称,大小写忽略

@RequestMapping("index")
public  Object index(){
String url = host+"/index/findUserMenuList";
Map<String,Object> uriVariables = new HashMap<>();
return restTemplate.getForObject(url,Object.class);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: