大家好,又见面了,我是全栈君。
从我第一次接触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 各个组件的使用套路基本一样:
- pom中引入相关依赖
- 创建启动类并在启动类上加上相关注解
- 修改配置文件application.properties
在使用其他Spring Cloud 组件的时候,基本可以按照这个思路去学习运用。
三、该系列博客暂时告一段落
博主决定Spring Cloud的入门系列博客暂时告一段落,原因主要如下:
- 基于现有的8篇博客,已经能达到入门的目的
- 博主不是大神,也是入门级,并且博主生活和工作之外的时间有限,还有许多其他的知识需要学习和分享
- 在博客园里面,已经有很多朋友在分享Spring Cloud的相关博文了,而且质量也高
- 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 坐标改为:
代码语言:javascript复制<!-- server端 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>
代码语言:javascript复制<!--client端 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
并且客户端的启动类上不再需要注解 @EnableDiscoveryClient
2) Ribbon坐标改为:
代码语言:javascript复制<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-ribbon</artifactId> <version>2.2.6.RELEASE</version> </dependency>
3) Feign改为OpenFeign,坐标为:
代码语言:javascript复制<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
4) Spring Cloud Config客户端坐标改为:
代码语言:javascript复制<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-client</artifactId> </dependency>
并且Config客户端添加新的坐标(因为2020.X.X版本官方重构了bootstrap引导配置的加载方式),否则会报错误:
代码语言:javascript复制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的依赖改为
代码语言:javascript复制<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/
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/120867.html原文链接:https://javaforall.cn