1、Eureka常见问

1.1、Eureka Enviroment 的配置

eureka.enviroment=product

  参考 https://github.com/Netflix/eureka/wiki/Configuring-Eureka

1.2、Eureka Datacenter 的配置

eureka.datacenter=cloud 

  配置eureka.datacenter=cloud,这样eureka就知道是在AWS云上

1.3、Eureka 开启自我保护的提示

EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT.
RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.

  Eureka进入保护模式时,不会踢出已关闭的节点。

1.4、Eureka 注册服务慢的问题如何解决?

1.5、如何解决Eureka Server不踢出已关闭的节点的问题?

Server端
  #关闭eureka的自我保护
  eureka.server.enable-self-preservation=false
  #清理间隔时间,单位为毫秒
  eureka.server.eviction-interval-timer-in-ms=0 Client端
  #开启健康检查(需要spring-boot-starter-actuator依赖)
  eureka.client.healthcheck.enabled=true
  #租期到期时间,默认90秒
  eureka.instance.lease-expiration-duration-in-seconds=30
  #租赁更新时间间隔,默认30,即30秒发送一次心跳
  eureka.instance.lease-renewal-interval-in-seconds=10

  注意:更改Eureka更新频率将打破服务器的自我保护能力,生产环境中一般不推荐修改。

1.6、Eureka 配置instanceId显示IP

eureka.client.serviceUrl.defaultZone=http://user:password@localhost:8761/eureka
#设置注册ip
eureka.instance.prefer-ip-address=true
eureka.instance.instanceId=${spring.application.name}:${spring.cloud.client.ipAddress}:${spring.application.instance_id:${server.port}}

  

2、Ribbon

2.1、自定义配置时,@Configuration和@ComponentScan所在包不应该重叠

2.2、使用RestTemplate时,想要获得一个List时,应该用数组,而不应该直接用List。

  在microservice-provider-user项目中添加如下代码,返回list

  @GetMapping("/list-all")
public List<User> listAll(){
List<User> list = new ArrayList<User>();
User user = new User(1,"zahngsan");
User user2 = new User(2,"zahngsan2");
User user3 = new User(3,"zahngsan3");
list.add(user);
list.add(user2);
list.add(user3);
return list;
}

直接访问此项目,得到如下结果:

  

  在microservice-consumer-movie-ribbon-list项目中通过RestTemplate访问以上内容:

@GetMapping("/list-all")
public List<User> list() {
List<User> list = this.template.getForObject("http://microservice-provider-user:7900/list-all", List.class);
for(User u:list){
System.out.println(u.getId());
}
return list;
}

  报错:

java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.wyl.microservicesimpleconsumemovie.entity.User

  可看出RestTemplate得到的是LinkedHashMap对象,不是List对象。则通过以下代码解析:

User[] list = this.template.getForObject("http://microservice-provider-user:7900/list-all", User[].class);
for(User u:list){
  System.out.println(u.getId());
}

3、Feign

3.1、自定义配置时,@Configuration和@Component所在包不应该重叠

3.2、@FeignClient所在的接口中,不支持@GetMapping等组合注解

3.3、使用@PathVariable时,需要制定其value

3.4、Feign暂时不支持复杂对象作为一个参数

Eureka、Ribbon、Feign常见问题及解决的更多相关文章

  1. 0409-服务注册与发现-Eurek Ribbon Feign常见问题及解决

    一.Eureka 1.1.Eureka Environment的配置: eureka.environment: 字符串 参考文档: https://github.com/Netflix/eureka/ ...

  2. Spring Cloud中五大神兽总结(Eureka/Ribbon/Feign/Hystrix/zuul)

    Spring Cloud中五大神兽总结(Eureka/Ribbon/Feign/Hystrix/zuul) 1.Eureka Eureka是Netflix的一个子模块,也是核心模块之一.Eureka是 ...

  3. 【一起学源码-微服务】Eureka+Ribbon+Feign阶段性总结

    前言 想说的话 这里已经梳理完Eureka.Ribbon.Feign三大组件的基本原理了,今天做一个总结,里面会有一个比较详细的调用关系流程图. 说明 原创不易,如若转载 请标明来源! 博客地址:一枝 ...

  4. 微服务:Eureka+Zuul+Ribbon+Feign+Hystrix构建微服务架构

    原文地址:http://blog.csdn.net/qq_18675693/article/details/53282031 本案例将打架一个微服务框架,参考来源官方参考文档 微服务:是什么?网上有一 ...

  5. springcloud微服务实战:Eureka+Zuul+Feign/Ribbon+Hystrix Turbine+SpringConfig+sleuth+zipkin

    相信现在已经有很多小伙伴已经或者准备使用springcloud微服务了,接下来为大家搭建一个微服务框架,后期可以自己进行扩展.会提供一个小案例: 服务提供者和服务消费者 ,消费者会调用提供者的服务,新 ...

  6. springcloud-知识点总结(二):Ribbon&Feign

    1.Ribbon简介 前面讲了eureka服务注册与发现,但是结合eureka集群的服务调用没讲. 这里的话 就要用到Ribbon,结合eureka,来实现服务的调用: Ribbon是Netflix发 ...

  7. eureka和feign的使用

    1 eureka和feign的简介(copy来的) eureka:Eureka是Netflix开发的服务发现组件,本身是一个基于REST的服务.Spring Cloud将它集成在其子项目spring- ...

  8. NHibernate常见问题及解决方法

    NHibernate常见问题及解决方法 曾经学过NHibernate的,但是自从工作到现在快一年了却从未用到过,近来要巩固一下却发现忘记了许多,一个"in expected: <end ...

  9. WebView加载本地html、js文件常见问题及解决办法

    声明:基于android studio平台,php语言搭建服务器 目录: 一.JavaScript脚本语言没有反应 二.alert无法弹出 三.html页面之间不能跳转 四.屏幕缩放没有达到预期效果 ...

随机推荐

  1. coursera 《现代操作系统》 -- 第八周 存储模型(2)

    名词解释 页面: 页面大小: 页表: 页表项: 以上名词解释见: coursera <现代操作系统> -- 第七周 存储模型(1) 页表项大小: 问:以上是怎么计算出来的? 32位指什么? ...

  2. Testlink安装:Notice:Undefined index: type in C:\inetpub\wwwroot\testlink-1.9.3\install\installCheck.php on line 41

    问题现象:

  3. 汽车数据的可视化分析(R)

    数据下载:http://www.fueleconomy.gov/feg/epadata/vehicles.csv.zip 将数据导入R中, 1.首先将工作路径设定到本地保存了vehicles.csv的 ...

  4. 入坑第二式 golang入坑系列

    史前必读: 这是入坑系列的第二式,如果错过了第一式,可以去gitbook( https://andy-zhangtao.gitbooks.io/golang/content/ )点个回放,看个重播.因 ...

  5. Nginx图片及样式文件不记录访问日志

    1.Nginx作为web服务器是可直接在server配置文件中做如下配置: server { listen ; server_name www.fansik.com; access_log /data ...

  6. jvm性能监控工具

    jvm可能存在的问题:    OutOfMemoryError:内存不足    内存泄露    线程死锁    锁竞争(Lock Contention)    Java消耗过多的CPU 一.jps(j ...

  7. KGX滚动分页源码

    源码描述: 本工具采用Jquery框架,通过jquery调用ashx获取并输出数据,示例中采用测试数据,可以自行扩展为图片等等 当下流行的分页方式,鼠标滚动下拉条会自动展示下一页信息,类似瀑布流的效果 ...

  8. 曾经跳过的坑------JS中对象与结构体的声明和调用

    直接上代码 正确的写法 //同一个ready方法中var viewModel = { // self.projectCode = PROJECT_CODE; BOOKEDCOUNT : 5, TOTA ...

  9. IE浏览器连不上网,其他浏览器可以

    周末因工作需要,需用IE浏览器.结果发现IE连不上网,而其他浏览器正常上网. 首先排查不是网络连接问题. 又重启了一下网络连接.禁用---->启用. 还是不好使.(最后找到原因是DNS设置问题. ...

  10. 前端 初级篇(CSS)

    CSS 简介 css是英文Cascading Style Sheets的缩写,称为层叠样式表,用于对页面进行美化. 存在方式有三种:元素内联.页面嵌入和外部引入,比较三种方式的优缺点. 语法:styl ...