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/

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • HTTP Header里的Range和Content-Range参数[通俗易懂]

    HTTP Header里的Range和Content-Range参数[通俗易懂]HTTPHeader里的Range和Content-Range参数转自:http://hongjiang.info/http-header-range-and-content-range/这个话题是从实现一个http资源的静态访问引发的。http协议从1.1开始支持获取文件的部分内容,这为并行下载以及断点续传提供了技术支持。它通过在Header里两个参数实现的,客户端发请求时对应的是Ra…

  • Windows ping TCP端口工具之tcping「建议收藏」

    Windows ping TCP端口工具之tcping「建议收藏」ping这个小工具大家都非常熟悉,但是他不能ping端口,当我们需要知道目的地址的某端口是否开放时,这时需要用到这个tcping小工具了,Windows没有自带这个小工具,需要自己下载下来,放到指定目录里面。下载地址:点击打开链接X64下载链接放到C:\Windows\System32这个文件夹下现在在测试一下…

  • JAVA中action_java string contains方法

    JAVA中action_java string contains方法该楼层疑似违规已被系统折叠隐藏此楼查看此楼ActionContext.getContext()返回的是一个ActionContext对象,get(Stringkey)也是ActionContext里面的一个方法。xwork源码贴出来了:publicclassActionContextimplementsSerializable{staticThreadLocalactionCon…

  • TCP socket 编程原理 及 使用 socket 发送HTTP请求

    TCP socket 编程原理 及 使用 socket 发送HTTP请求1.TCPsocket编程原理?了解TCPsocket编程原理如何使用socket模块如何建立TCPsocket客户端和服务端客户端和服务端之间的通信socket建立连接的过程?服务器建立监听,socket,bind,listen客户端发送请求,connect,send连接确认,accept,response首先在服务器端建立…

    2022年10月18日
  • C++中的智能指针

    C++中的智能指针

    2021年11月20日
  • oracle9i如何卸载,教你怎么样卸载Oracle9i[通俗易懂]

    oracle9i如何卸载,教你怎么样卸载Oracle9i[通俗易懂]欢迎进入Oracle社区论坛,与200万技术人员互动交流>>进入在win2000企业版操作系统下,卸载Oracle9i:1、停止所有Oracle服务2、删除注册表中的所有关于Oracle项(1)在HKEY_LOCAL_MACHINE\SOFTWARE下,删除Oracle目录(2)在HKEY_LOCAL_MACHINE\SYSTE欢迎进入Oracle社区论坛,与200万技…

    2022年10月20日

发表回复

您的电子邮箱地址不会被公开。

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