springcloud demo。包括如下组件:
- spring cloud config : 作为配置中心
- eureka server: 作为服务注册中心
- eureka client : 服务注册中心的客户端
- admin: 监控控制台,是web ui界面
- hystrix dashboard:
- user-service: 运行一个服务demo
- service-client: 调用user service的服务,使用RestTemplate通过服务注册中心获取服务提供者地址
- feign-client: 通过@Feign远程调用服务
- spring cloud zipkin server: 作为tracing系统
- 配置中心的配置文件,保存在另外一个git仓库中,地址是!(https://github.com/njkfei/springcloud-config-repo)[https://github.com/njkfei/springcloud-config-repo]
- 本demo运行成功
- 本demo运行成功,还是挺麻烦的,需要一点运气
- 没有父POM.xml,个人不太喜欢这种父POM.XML的方式
- hystrixdashboard启动成功,但没有做功能性测试
进入每个工程,有两种方式
在pom.xml目前下,运行下面的命令即可。
mvn spring-boot:run
在pom.xml目录下,生成jar包
mvn clean install -Dmaven.test.skip=true
cd target
java -jar xxx.jar
cd configuration-service
mvn clean install -Dmaven.test.skip=true
cd ../eureka-service
mvn clean install -Dmaven.test.skip=true
cd ../admin
mvn clean install -Dmaven.test.skip=true
cd ../hystrixdashboard
mvn clean install -Dmaven.test.skip=true
cd ../zipkinservice
mvn clean install -Dmaven.test.skip=true
cd ../userservice
mvn clean install -Dmaven.test.skip=true
cd ../feignclient
mvn clean install -Dmaven.test.skip=true
cd ../serviceclient
mvn clean install -Dmaven.test.skip=true
cd ../zuulapigateway
mvn clean install -Dmaven.test.skip=true
- configuration-service
- eureka-service
- admin
- hystrixdashboard
- zipkinservice
- userservice
- feignclient
- serviceclient
- zuulapigateway
cd configuration-service
mvn spring-boot:run &
cd ../eureka-service
mvn spring-boot:run &
cd ../admin
mvn spring-boot:run &
cd ../hystrixdashboard
mvn spring-boot:run &
cd ../zipkinservice
mvn spring-boot:run &
cd ../userservice
mvn spring-boot:run &
cd ../feignclient
mvn spring-boot:run &
cd ../serviceclient
mvn spring-boot:run &
cd ../zuulapigateway
mvn spring-boot:run &
说明一下:上面的脚本,是跑不起来的,建议一个一个启动,上一个启动成功了,再启动下一个.为什么呢?因为服务有顺序依赖.
错误如下:
class not found : Feign.LOG
原因:
resttemplate和@Feign不能共存,因为这个问题,导致浪费2小时
在zipkin server的web ui中,看不到user-service,导致2小时没有,看代码,分析原因,眼睛疼死了。
神器idea mvn install不行,需要手工 mvn reimport一下。通过maven插件可以看zipkin的依赖是否加载成功。 成功的话,就可以在web-ui中看到user-service.
- zipkin目前是把数据放在mem当中,需要调研rabbit mq存储数据。
- spring cloud stream也要研究一下
- 性能测试需要关注
- admin 增加邮件支持
- admin 监控增加ssl支持
- zuul API 网关,作安全攻防用,参数修改使用
- 日志系统集成
- mysql 日志监控:mybatis + logback