spring cloud 入门系列:总结[通俗易懂]

从我第一次接触SpringCloud到现在已经有3个多月了,当时是在博客园里面注册了账号,并且看到很多文章都在谈论微服务,因此我就去了解了下,最终决定开始学习SpringCloud。我在一款阅读A

大家好,又见面了,我是全栈君。

从我第一次接触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/

 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120867.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 接口测试总结

    接口测试总结阅读目录 nbsp 1 请求模型 2 请求结果 3 接口的请求会发向哪里 4 复杂一点的接口 RESTful5 接口测试 6 测试用例 nbsp 序章 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 说起接口测试 网上有很多例子 但是当初做为新手的我来说 看了不不知道他们说的什么 觉得接口测试 好高大上 认为学会了接口测试就能屌丝逆袭 走上人生巅峰 迎娶白富美 因此学了点开发知识后 发现接口测试其实都是人们玩的名词罢了 接口测试 真心很简单 它只

    2025年11月24日
    3
  • 搭建CICD平台

    搭建CICD平台**搭建CICD平台**1、主机准备。2、安装前预配置。准备相应的系统配置与软件依赖。3、执行安装。4、安装后配置。添加相应的组件以及修改配置。如导入模板等。一、主机准备Centos7.2配置:内存大于4G。(其中Jenkins占1.5G、Gitlab占2G)8080、10080、10022、50000端口未使用二、安装前预配置1、添加阿里yum源(如果已配置了…

    2022年6月12日
    46
  • 使用secureCRT连接超时(最详细最有效的解决,就这一篇就够了)

    使用secureCRT连接超时(最详细最有效的解决,就这一篇就够了)从昨天下午到现在,可谓是一波三折,在网上查阅的文章不下100篇,结果很多都是没用的千篇一律,即使一些浏览器破千的文章,发现都是无头无尾,整个逻辑都很烂,最终通过一次次的失败到最后的成功使我不得不写篇指导,好让你们可以一次性解决问题,减少你们宝贵的时间,话不多话,现在开始吧!(开始之前,确保你们的Linux网络配置可以联网,输入pingwww.baidu.com),若不成功,则先去这里,把网络配…

    2022年5月13日
    61
  • Android通过HTTP POST带參訪问asp.net网页

    Android通过HTTP POST带參訪问asp.net网页

    2022年1月29日
    43
  • Java 技术是什么?

    Java 技术是什么?Java技术既是一种高级的面向对象的编程语言,也是一个平台。Java技术基于Java虚拟机(Javavirtualmachine,JVM)的概念——这是语言与底层软件和硬件之间的一种转换器。Java语言的所有实现都必须实现JVM,从而使Java程序可以在有JVM的任何系统上运行。Java编程语言(Javaprogramminglanguage)与众不同之

    2022年7月8日
    23
  • ajax跨域解决方案domain_js解决跨域问题

    ajax跨域解决方案domain_js解决跨域问题简介JSON是一种轻量级的数据传输格式,被广泛应用于当前Web应用中。JSON格式数据的编码和解析基本在所有主流语言中都被实现,所以现在大部分前后端分离的架构都以JSON格式进行数据的传输。JavaScript的同源策略:只有协议+主机名+端口号(如存在)相同,则允许相互访问。也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源。比如www.aa.com下的…

    2022年8月24日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号