今天我们来学习服务消费者ribbon如何调用服务提供者
一、新建一个获取用户信息的服务提供者
1、创建项目
由于获取用户信息属于业务模块,因此我们需要新建一个maven主项目:bussnissservice
然后在该主项目上创建一个springboot项目
点击下一步,选择“Eureka Server”
此时的项目结构:
2、代码实现
同样,将application.properties修改为bootstrap.yml(以后不做特殊说明都修改为bootstrap.yml)
使用@EnableEurekaClient注解开启Eureka客户端
新建一个controller包,并在此包下写一个获取所有用户的接口
3、测试:
启动Eureka注册中心—启动 service-user 微服务—然后在浏览器输入
http://localhost:8801/listUsers
端口号为8801的服务器为我们返回了用户列表信息
二、创建一个服务消费者ribbon
ribbon是Netflix发布的客户端负载均衡组件,(nginx是服务端的负载均衡)
下面看一下具体实现
1、创建项目
选择Eureka Server 和 Ribbon
pom.xml如下:
2、代码实现
bootstrp.xml
在启动类中@Bean将restTemplate注入到ioc容器, 并使用@LoadBalanced注解声明开启 负载均衡
接下来,新建一个client包,在该包下写一个ribbon接口
说明:service-user为服务名称, 一个服务名称对应多个主机IP和端口号,这样根据服务名调用就实现了负载均衡的功能
3、测试
为测试 ribbon负载均衡功能,我们再启动一个service-user服务,端口号为8802:
访问:http://localhost:8901/listUsersByRibbon
因为默认的负载均衡算法是轮询,所以两台服务器轮流被调用,(也可自行修改负载均衡算法,例如:随机算法,只是简单的配置,这里不再阐述)
预告:下一篇将要讲解feign的整合
关注我们
领取专属 10元无门槛券
私享最新 技术干货