springcloud(3)Ribbon 消费者

1.创建消费者模块

项目工程结构

创建后,已配置好的pom

2. 添加 相关的pojo/service/controller

其中service

@Service
public class ProductService {
	@Autowired
	ProductClientRibbon productClientRibbon;
	public List<Product> listProducts(){
		return productClientRibbon.listProdcuts();

	}
}

3. 添加 调用其他微服务的类

@Component
public class ProductClientRibbon {
    @Autowired
    RestTemplate restTemplate;

    /**
     * 调用 product-data 的products 接口
     * @return
     */
    public List<Product> listProdcuts() {
        return restTemplate.getForObject("http://PRODUCT-DATA-SERVICE/products", List.class);
    }
}

关于  RestTemplate 的使用详情,查看:https://blog.csdn.net/lettuce_/article/details/102463992

 工程结构

4. 添加properties 属性

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
spring:
  application:
    name: product-consumer-ribbon
  thymeleaf:
    cache: false
    prefix: classpath:/templates/
    suffix: .html
    encoding: UTF-8
    mode: HTML5
    servlet:
      content-type: text/html

5.  在启动类中添加2注解  

@EnableEurekaClient
@EnableDiscoveryClient
两者基本一致,都可以实现服务发现,也就是能够注册到服务注册中心。
而且在定义@EnableEurekaClient时也要加上@EnableDiscouveryClient这个注解。

两者的区别是

@EnableDiscoveryClient适用面较广,可以用于eureka,也可以用zookeeper、consul
@EnableEurekaClient顾名思义,仅适用eureka

 

关于 @EnableEurekaClient和@EnableDiscoveryClient的区别 

https://blog.csdn.net/u012734441/article/details/78256256?locationNum=1&fps=1

注意: 最新springboot可能有启动类中不添加这两注解也能注册进注册中心(亲测)

 

.6. 启动

启动后出现启动失败情况:

***************************
APPLICATION FAILED TO START
***************************

Description:

Field restTemplate in cn.how2j.springcloud.productconsumerribbon.config.ProductClientRibbon required a bean of type 'org.springframework.web.client.RestTemplate' that could not be found.

解决:在config目录下添加一个配置类

@Configuration
public class RestTemplateConfig {
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

或  添加bean 到启动类中

@LoadBalanced注解

实现springcloud ribbon客户端负载均衡

详情查看:https://blog.csdn.net/xiao_jun_0820/article/details/78917215 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值