spring cloud 入门系列:总结

从我第一次接触Spring Cloud到现在已经有3个多月了,当时是在博客园里面注册了账号,并且看到很多文章都在谈论微服务,因此我就去了解了下,最终决定开始学习Spring Cloud。我在一款阅读App上买了一本 程序猿DD的《Spring Cloud 微服务实战》,开始了我的Spring Cloud学习之旅,为了加深记忆也决定在博客园里面写博客,把一些基础的东西和入门实例放在随笔里面,便于后续查看,好记性不如烂笔头嘛。但是你知道,写博客比较花经历和时间,不太可能把学到的内容和代码全部都放上去,这个spring cloud 入门系列的博客确实仅仅是入门级别的,如果大家对Spring Cloud 感兴趣的话,建议去买本书系统的学习下,光靠在博客或网络上看别人写的碎片化内容可能效果不是很好。

一、该系列博文列表

这3个月来,我一共写了8篇Spring Cloud的相关的博文:

1 spring cloud 入门系列一:初识spring cloud
2 spring cloud 入门系列二:使用Eureka 进行服务治理
3 spring cloud 入门系列三:使用Eureka 搭建高可用服务注册中心
4 spring cloud 入门系列四:使用Hystrix 实现断路器进行服务容错保护
5 spring cloud 入门系列五:使用Feign 实现声明式服务调用
6 spring cloud 入门系列六:使用Zuul 实现API网关服务
7 spring cloud 入门系列七:基于Git存储的分布式配置中心--Spring Cloud Config
8 spring cloud 入门系列八:使用spring cloud sleuth整合zipkin进行服务链路追踪

分别介绍了服务注册中心、服务提供者、服务消费者、断路器、负载均衡、网关服务、配置中心、服务链路追踪。

有了这几个服务单元,就可以搭建最基本的微服务框架了。

二、Spring Cloud 组件使用的基本套路总结

其实在使用的过程中,你会发现Spring Cloud 各个组件的使用套路基本一样:

  1. pom中引入相关依赖
  2. 创建启动类并在启动类上加上相关注解
  3. 修改配置文件application.properties

在使用其他Spring Cloud 组件的时候,基本可以按照这个思路去学习运用。

三、该系列博客暂时告一段落

博主决定Spring Cloud的入门系列博客暂时告一段落,原因主要如下:

  1. 基于现有的8篇博客,已经能达到入门的目的
  2. 博主不是大神,也是入门级,并且博主生活和工作之外的时间有限,还有许多其他的知识需要学习和分享
  3. 在博客园里面,已经有很多朋友在分享Spring Cloud的相关博文了,而且质量也高
  4. Spring Cloud 更新实在太快了,需要使用某个组件的时候具体再查阅吧

好了,总结就这么多吧,祝自己和朋友们都能技术一天比一天好,终成大神。

相关代码已经上传至我的码云:https://gitee.com/sam-uncle/my-all-learning/tree/master/spring-cloud-learning

 

################################################################################################

1. 本练习项目初始版本为:

SpringBoot:1.5.1.RELEASE

Spring Cloud: Camden.SR6

2. 由于官方在SpringBoot2.x之后做了大变动,新版本不兼容之前的一些用法,因此这里升级下

升级后的版本为:

SpringBoot:2.5.4

Spring Cloud: 2020.0.3

3. 升级后的代码调整如下:

1) Eureka 坐标改为:

<!-- server端 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<!--client端 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

并且客户端的启动类上不再需要注解 @EnableDiscoveryClient

2) Ribbon坐标改为:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
    <version>2.2.6.RELEASE</version>
</dependency>

3) Feign改为OpenFeign,坐标为:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

4) Spring Cloud Config客户端坐标改为:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-client</artifactId>
</dependency>

并且Config客户端添加新的坐标(因为2020.X.X版本官方重构了bootstrap引导配置的加载方式),否则会报错误:

No spring.config.import set

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

5) Zuul(api-gateway工程)不再使用,改为gateway作为新的网关,新建了gateway服务

6) Hystrix的依赖改为

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>

7)  Zipkin服务端,不再需要写代码实现,而是只需要下在最新的jar,然后运行即可

java -jar zipkin-server-2.12.9-exec.jar

启动后,直接访问 http://127.0.0.1:9411/zipkin/

 
posted @ 2018-07-20 11:59  JAVA开发老菜鸟  阅读(5912)  评论(6编辑  收藏  举报