微服务把项目分模块进行服务化,服务与服务之间都是相互独立的,服务之间的通讯是基于 http restful的。Spring Cloud 的两种服务调用方式分别是 ribbon + restTemplate 和 feign。这篇文章使用ribbon+rest进行开发。
ribbon是一个负载均衡的客户端,更多资料请到网上进行查阅。
在开始前,把之前的vip服务再启动多一个,有两个vip服务同时在注册中心,就能知道order服务调用时是否做了负载均衡:
![](https://img.haomeiwen.com/i12143015/e90301f3e8811eb8.png)
修改端口号并且启动新建的服务启动项
![](https://img.haomeiwen.com/i12143015/6ee917e9ef4fe872.png)
去Eureka注册中心查看注册结果:
![](https://img.haomeiwen.com/i12143015/20f58a5a1f43dc17.png)
1.创建springboot消费者服务。(这里加入web、eureka、ribbon依赖)
![](https://img.haomeiwen.com/i12143015/c62f40a33f301b80.png)
2.修改入口类如下(加入ribbon的负载均衡配置):
![](https://img.haomeiwen.com/i12143015/5a11a3ca34cc6715.png)
3.配置文件(和之前配置的差不多):
![](https://img.haomeiwen.com/i12143015/458a06e23d336674.png)
4.新建service包和类(使用Ribbon调用vip提供服务者):
![](https://img.haomeiwen.com/i12143015/c4c658d6c4c86681.png)
5.新建rest包和Rest接口类(controller作用),并且调用service类的方法获取当前访问的vip的端口号:
![](https://img.haomeiwen.com/i12143015/074b5c8a05a5d7f5.png)
6.以下是访问结果(每次访问,访问结果都是不一样的,在轮询分发访问请求):
![](https://img.haomeiwen.com/i12143015/b7ea89b6f427431d.png)
![](https://img.haomeiwen.com/i12143015/41a7dd951de83f4e.png)
网友评论