公众号merlinsea
说明:在微服务相互调用的过程中,我们可以发现其实我们需要的是从服务a调用服务b的功能,但通过restTemplate调用的时候服务b的调用代码会完全嵌入到服务a中,这种方式不够解耦!!!
负载均衡:分布式系统中⼀个⾮常重要的概念,当访问的服务具有多个实例时,需要根据某种“均衡”的策略决定请求发往哪个节点,这就是所谓的负载均衡, 原理是将数据流量分摊到多个服务器执⾏,减轻每台服务器的压⼒,从⽽提⾼了数据的吞吐量
负载均衡的分类,分为客户端负载均衡和服务端负载均衡
如何使用Ribbon实现负载均衡的方法
核心就是在使用RestTemplate的地方增加@LoadBalanced注解即可(默认是轮询策略)
Ribbon负载均衡使用建议:建议使用默认的轮询策略,因为通常在生产环境下,每个节点的机器配置是一样的,因此通过轮询即可以均摊压力。
@Bean @LoadBalanced public RestTemplate restTemplate() { return new RestTemplate(); }
order层的业务端
这种方式其实并不需要服务注册中心,直接通过restTemplate调用即可!!!
@RestController @RequestMapping("api/v1/order") public class OrderController { @Autowired private RestTemplate restTemplate; @GetMapping("save") public VideoOrder save(@RequestParam("id") int id){ Video video = restTemplate.getForObject("http://localhost:7000/api/v1/video/find_by_id/"+id,Video.class); VideoOrder videoOrder =new VideoOrder(); videoOrder.setVideoId(video.getId()); videoOrder.setVideoImg(video.getCoverImg()); videoOrder.setVideoTitle(video.getTitle()); videoOrder.setOutTradeNo("234543835789"); return videoOrder; } }
vip课程是指同学们加入我们的vip学习群,vip群里面的小伙们可以永久参加所有的直播算法刷题课程,我每天直播的时间是早上8:30-9:30,通过腾讯会议在线讲解算法刷题,语言包括c++,java和golang版本,只要加入了vip群,除了每天的直播刷题外,前45位加入的同学,我会额外赠送我所有的学习实战资料,包括docker、git、java io、leetcode算法、java源码分析、jdk新特性、kafka、linux、mybatis、mybatis plus、mysql、mysql刷题、netty、nginx、python、rabbitmq、redis、sharding jdbc、spring、springboot、springcloud、并发编程、html+css、微信支付实战所有内容的学习笔记,总共800+张的文档资料。
国庆前的推广活动:
国庆前的价格:800元/人
国庆后恢复原价为1349元/人
国庆前45位加入的同学,带大家看看我们赠送的学习文档【声明只有国庆前45位加入vip学习群的同学,才会赠送这些内容哈】,对于之前已经加入了其他课程的同学,联系我有额外的优惠,我们每天8:30-9:30上直播算法课程:
链接详情
vip课程是指同学们加入我们的vip学习群,vip群里面的小伙们可以永久参加所有的直播算法刷题课程,我每天直播的时间是早上8:30-9:30,通过腾讯会议在线讲解算法刷题,语言包括c++,java和golang版本,只要加入了vip群,除了每天的直播刷题外,前45位加入的同学,我会额外赠送我所有的学习实战资料。
奔跑的小梁,公众号:梁霖编程工具库算法班永久vip直播教学刷题来啦