spring-cloud 2.0 微服务架构从入门到精通三服务消费者

今天我们来学习服务消费者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

ribbonNetflix发布的客户端负载均衡组件,(nginx是服务端的负载均衡)

下面看一下具体实现

1、创建项目

选择Eureka Server 和 Ribbon

pom.xml如下:

2、代码实现

bootstrp.xml

在启动类中@BeanrestTemplate注入到ioc容器, 并使用@LoadBalanced注解声明开启 负载均衡

接下来,新建一个client包,在该包下写一个ribbon接口

说明:service-user为服务名称, 一个服务名称对应多个主机IP和端口号,这样根据服务名调用就实现了负载均衡的功能

3、测试

为测试 ribbon负载均衡功能,我们再启动一个service-user服务,端口号为8802:

访问:http://localhost:8901/listUsersByRibbon

因为默认的负载均衡算法是轮询,所以两台服务器轮流被调用,(也可自行修改负载均衡算法,例如:随机算法,只是简单的配置,这里不再阐述)

预告:下一篇将要讲解feign的整合

关注我们

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180416G1FWIH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券