使用springcloud开发测试

如下描述的问题,没有指明是linux部署的,都是在windows开发环境上部署验证发现的。

Issue1配置客户端不使用配置中心

问题描述:

配置客户端使用配置中心是需要下面两步

1)在pom文件加spring-cloud-starter-config依赖

2)在配置文件中加spring.cloud.config配置语句。

把第二步的配置语句去掉,不去掉第一步的依赖,配置客户端微服务启动还是会使用配置中心,而且是使用默认的localhost:8888去连接配置中心。如果本地木有启动8888端口的配置中心服务,那该微服务启动就会报错。

解决方法:

如果不使用配置中心的服务,必须将两步配置同时删除。

Ps:

Springcloud中好多扩展应用也有类似的问题,比如不想使用服务发现,那就需要把服务发现的所有配置都移除,否则也是有问题的。

Issue2 使用${}

问题描述:

使用${}动态获取配置文件中的字段,如

@RibbonClient(name = "${ribbon.custom.app.name}", configuration = RibbonConfig.class)、或者
@Value("${ribbon.custom.app.name}")时,

如果启动了多个该应用的实例对象,且都注册到了注册中心,就会引起${}木有真正获取到数据,或者混乱。

在测试自定义负载均衡的时候,使用这种方式配置RibbonClient的name,发现自定义负载策略不生效,直接指定成应用名的实际字符串,可以生效。

解决方法:

如果本地要启动同一个应用的多个实例的时候,可以将${}直接替换成其代表的字符串

Issue3 zuul路由不正确

问题描述:

在部署了zuul的服务器上同时部署了要路由的应用,其他服务器上也同时部署了该路由的应用,就会导致被路由服务的负载均衡混乱。

解决方法:

需要路由的应用不要跟zuul部署在同一台服务器上。

Issue4 多网卡环境下Eureka服务注册IP选择问题

问题描述:

服务器上分别配置了eth0, eth1和eth2三块网卡,只有eth1的地址可供其它机器访问,eth0和eth2的IP 无效。在这种情况下,服务注册时Eureka Client会自动选择eth0作为服务ip,导致其它服务无法调用。

有的时候windows上这些网卡是装过linux虚拟机之后,配置网络产生的。但是虚拟机卸载了,这些配置还存在。

 

解决方法:

linux部署的解决可以参考帖子:

http://blog.csdn.net/neosmith/article/details/53126924

Windows部署,禁用没用的网络:

Issue5 配置客户端使用服务发现方式配置配置中心,注册语句放到配置中心仓库上不生效

问题描述:

客户端微服务应用同时使用注册中心、配置中心场景下,配置客户端使用如下服务发现方式配置配置中心,注册语句放到配置中心仓库上不生效,即不能注册到注册中心上。

spring:
  cloud:
    config:
      profile: dev
      discovery:
        enabled: true
        service-id: config-server

解决方法:

使用如下url的方式,但是两种方式都有问题,具体描述参考config-client应用中的README.md

spring:
  cloud:
    config:
      uri: ${config.server.uri.peer1}
      profile: dev

Issue6 mybatis整合spring cloud consul依赖版本问题

首先是在consul里mysql依赖用5.1.41版本

Mybatis首次验证用 1.1.1版本 验证失败 报错:“日志版本不兼容”

后修改为

<properties>
    <mybatis.spring.version>1.2.4</mybatis.spring.version>
</properties>

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>RELEASE</version>
</dependency>

验证 成功

Eureka里整合mybatis

Eureka里要求更严格 spring-boot整合mybatis的版本依赖和spring-boot-starter依赖是对应兼容的

详细的表 请参照官网 http://mvnrepository.com/artifact/org.mybatis/mybatis-spring

此处由于我们spring-boot-starter用的是1.4.5(Cm.SR7默认)

查询得知 mybatis-spring-boot依赖应该是用1.2.1 版本

要注意以上

转载:https://blog.csdn.net/u013719805/article/details/78843670

最新文章

  1. 一篇文章看懂TPCx-BB(大数据基准测试工具)源码
  2. 制作宅基腐主页 &amp;&amp; 制作个人简历--材料:BootStrap
  3. js实现身份证号码验证
  4. Scala模式匹配和类型系统
  5. DIV+CSS 网页布局之:两列布局
  6. MySql中常用语句
  7. StormAPI简单使用
  8. 导入网页数据到 Google Sheet
  9. 初码-Azure系列-存储队列的使用与一个Azure小工具(蓝天助手)
  10. 程序员编程艺术:第三章续、Top K算法问题的实现
  11. Python3+Appium安装使用教程
  12. C#发邮件_EmailHelper
  13. (转)webpack和webpack-simple区别(如何引入css文件)
  14. SQL Server--存在则更新问题
  15. Ogre RTSS组件解析
  16. Delphi 中DataSnap技术网摘
  17. WEB入门一 网页设计基础
  18. Linux光标移动异常
  19. HDU1251 统计难题 trie树 简单
  20. HDU 1203 I NEED A OFFER! (dp)

热门文章

  1. Nebula 架构剖析系列(一)图数据库的存储设计
  2. 基于OAuth 2.0的第三方认证 -戈多编程
  3. java位运算,逻辑运算符
  4. Web渗透之mssql LOG备份getshell
  5. C++中哪些函数不能声明为inline?
  6. opencv实践::切边
  7. Linux shell脚本笔记
  8. markdown数学公式大全
  9. [NOIP2013提高组]华容道
  10. 一、如何使用postman做接口测试笔记一