Spring Cloud Alibaba系列教程
文章平均质量分 68
新一代微服务Spring Cloud Alibaba致力于成为微服务解决方案框架,服务注册与发现Nacos、配置中心Nacos、接口限流和熔断降级及负载均衡Sentinel、分布式消息中间件RocketMQ、分布式事物解决方案Seata、存储服务OSS、配置中心ACM、短信服务SMS等组件
Thinkingcao
CSDN2019年度博客之星、博客专家,专注架构、Java、Spring、SpringBoot、SpringCloud、微服务、数据库、分布式、中间件、源码分析、JVM性能调优、K8S等领域
微信搜索公众号:「Thinking曹」,一个执着于架构的JAVA基层码农,每天带你学习新知识。
展开
-
Spring Cloud Alibaba与Spring Boot、Spring Cloud版本对应关系
一、前言在搭建SpringCloud项目环境架构的时候,Springboot版本与SpringCloud版本对应关系很重要,如果版本不对应,常见的会遇见项目启动不起来,怪异的会是项目出现一些诡异的问题。Release train Spring Boot compatibilitySpring Cloud Release TrainSpring Boot VersionHo...原创 2020-04-21 10:55:00 · 18498 阅读 · 3 评论 -
深入理解分布式、微服务中CAP定律和BASE理论
一、背景随着互联网的蔓延,各种传统项目(单体应用)已经不能够满足当前各种复杂的场景需求,都逐渐向分布式服务、微服务做转换,如今分布式、微服务已经普遍存在,大型网站几乎都是分布式、微服务架构的,分布式和微服务架构就显得尤为重要了。分布式和微服务系统的最大难点,就是各个节点的状态如何保持同步,这也是理解分布式、微服务的起点,设计和部署分布式系统时,所有分布式及微服务系统都需遵循CAP定律和BASE理...原创 2020-04-07 16:45:00 · 3379 阅读 · 4 评论 -
一直说的服务端负载均衡和客户端负载均衡(Ribbon)的区别
一、什么是负载均衡?负载均衡可以想象为将所有请求先聚在一起,然后根据负载均衡算法分发请求达到合理分配请求,将服务器处理请求的效率达到最大化,为微服务集群分担请求,降低系统的压力。负载均衡算法:1、随机,通过随机选择服务进行执行,一般这种方式使用较少;2、轮训,负载均衡默认实现方式,请求来之后排队处理;3、加权轮训,通过对服务器性能的分型,给高配置,低负载的服务器分配更高的权重,均衡各个服务器的压力;4、地址Hash,通过客户端请求的地址的HASH值取模映射进行服务器调度。5、最小链接数;即使转载 2021-08-02 14:59:11 · 2388 阅读 · 1 评论 -
SpringCloud Alibaba 微服务架构(十七)- Seata-AT 如何保证分布式事务一致性
一、前言Seata 是一款开源的分布式事务解决方案,star 高达 18100+,社区活跃度极高,致力于在微服务架构下提供高性能和简单易用的分布式事务服务,本文将剖析 Seata-AT 的实现原理,让用户对 AT 模式有更深入的认识。二、Seata 事务模式是什么?1. Seata 对事务的定义Seata 定义了全局事务的框架。全局事务定义为若干分支事务的整体协调:TM 向 TC 请求发起(Begin)、提交(Commit)、回滚(Rollback)全局事务。TM 把代表全局事务的 XID 绑转载 2020-12-30 10:30:12 · 972 阅读 · 0 评论 -
SpringCloud Alibaba 微服务架构(十六)- Nacos 集群部署模式最佳实践
1 前言Nacos 支持两种部署模式:单机模式和集群模式。在实践中,我们往往习惯用单机模式快速构建一个 Nacos 开发/测试环境,而在生产中,出于高可用的考虑,一定需要使用 Nacos 集群部署模式。我的上一篇文章《一文详解 Nacos 高可用特性》提到了 Nacos 为高可用做了非常多的特性支持,而这些高可用特性大多数都依赖于集群部署模式。这篇模式文章便是给大家介绍一下,在实践中可以被采用的几种集群部署模式,无论你是希望自行搭建 Nacos,还是希望对 MSE 商业版 Nacos 有一个更加深刻的理解转载 2020-12-28 11:49:47 · 916 阅读 · 1 评论 -
SpringCloud Alibaba 微服务架构(十五)- 一文详解 Nacos 高可用特性
前言服务注册发现是一个经久不衰的话题,Dubbo 早期开源时默认的注册中心 Zookeeper 最早进入人们的视线,并且在很长一段时间里,人们将注册中心和 Zookeeper 划上了等号,可能 Zookeeper 的设计者都没有想到这款产品对微服务领域造成了如此深厚的影响,直到 SpringCloud 开始流行,其自带的 Eureka 进入了人们的视野,人们这才意识到原来注册中心还可以有其他的选择。再到后来,热衷于开源的阿里把目光也聚焦在了注册中心这个领域,Nacos 横空出世。Kirito 在做注册转载 2020-12-28 12:21:51 · 2123 阅读 · 0 评论 -
SpringCloud Alibaba 微服务架构(十四)- Nacos集群部署原理解析
CPA即一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP三个要素不可能全部实现,最多实现两个。一般的实际都是基于AP和CP。而Nacos支持CP/AP两个模式和混合模式,可以进行切换,默认为AP。原创 2020-11-18 16:25:13 · 1993 阅读 · 1 评论 -
Spring Cloud Alibaba 微服务架构教程:专栏汇总篇(持续更新中.............)
一、Spring Cloud Alibaba专题目录Spring Cloud Alibaba与Spring Boot、Spring Cloud版本对应关系Spring Cloud Alibaba教程(一):使用Nacos实现服务注册与发现Spring Cloud Alibaba教程(二):实现Nacos注册中心高可用与原理解析Spring Cloud Alibaba教程(三):使用Nacos实现分布式配置中心Spring Cloud Alibaba教程(四):解读Nacos实现原创 2020-11-04 14:53:47 · 2471 阅读 · 8 评论 -
Spring Cloud 系列教程 | 文章汇总:专栏汇总篇(持续更新中.............)
SpringCloud从入门到精通系列教程,持续更新中......................原创 2020-02-21 17:43:38 · 1636 阅读 · 0 评论 -
使用nacos-server-1.2.1版本客户端不断重复拉取服务端配置的问题
一. 项目环境项目主依赖使用Spring Cloud,其次整合了Spring Cloud Alibaba生态圈中的部分依赖组件:nacos、seata ,项目的核心组件依赖版本兼容如下方,提供给大家参考:组件版本号nacos.version1.2.1spring cloud.versionGreenwich.SR2spring cloud alibaba.version2.1.2.RELEASEspring boot.version2.1.6.RELEAS原创 2020-10-30 17:39:53 · 2941 阅读 · 0 评论 -
SpringCloud Alibaba 微服务架构(十三)- SpringCloud 整合Seata 解决分布式事务
在当下微服务架构比较火热时,新一代微服务解决方案Spring Cloud Alibaba提供的开源分布式事务解决框架Seata无疑成为了我们在解决分布式事务时的首要之选,前面两篇文章分别介绍了常见的分布式解决方案和成熟的框架以及关于Seata概念的入门介绍原创 2020-10-27 20:37:31 · 3461 阅读 · 0 评论 -
SpringCloud Alibaba 微服务架构(十二)- 分布式事务解决框架之Seata概念入门篇
“微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。原创 2020-10-27 23:17:20 · 1021 阅读 · 0 评论 -
SpringCloud Alibaba 微服务架构(十一)- 分布式事务解决方案及理论基础篇
在传统的单体应用架构中,例如经典的SSM,项目会采用分层架构模式:数据库访问层、业务逻辑层、控制层,从前端到后台所有的代码都是一个或者几个开发者去完成,该架构模式没有对我们业务逻辑代码实现拆分、也没有对数据源进行拆分,所有的代码都写入到同一个项目的不同module中。此时多个不同业务逻辑都是在同一个数据源中实现事务管理,是不存在分布式事务的问题,因为在同一个数据源的情况下,都是采用事务管理器,相当于每个事务管理器对应一个数据源。原创 2020-10-27 20:35:51 · 1229 阅读 · 1 评论 -
关于Spring Cloud及Spring Boot版本命名规则,你必须要了解!
在使用SpringCloud及SpringBoot搭建项目框架之前,都需要去了解二者之间版本的兼容对应关系,关于SpringBoot和SpringCloud官方版本号的命名规则很是好奇,想要一探究竟,那么显而易见,SpringBoot的版本号是通过数字来命名的,SpringCloud则是通过希腊英文字母的方式,在发布的版本时是以伦敦地铁站作为版本命名,并按地铁站名称的首字母A-Z依次命名。原创 2020-09-02 16:08:13 · 3085 阅读 · 0 评论 -
使用nacos-server1.2.1版本,项目启动时疯狂的循环打印日志问题
一、起因环境:nacos: 1.2.1spring cloud: Greenwich.SR2spring cloud alibaba: 2.1.1.RELEASEspring boot: 2.1.6.RELEASEjdk: 1.8项目是微服务架构,注册中心和配置中心使用的是nacos,之前项目一切正常,在加入下面图中的一行配置之后,enable-exceptio...原创 2020-05-08 14:39:11 · 3595 阅读 · 9 评论 -
SpringCloud整合nacos启动异常: Application failed to connect to Nacos server: "" Action: Please check you
一. 背景在搭建SpringCloud整合nacos环境,服务有springcloud-product提供者和springcloud-order消费者,启动服务报异常如下:2020-04-29 18:30:32.183 INFO 8228 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.sp...原创 2020-04-29 18:45:20 · 18258 阅读 · 1 评论 -
Feign客户端消费服务超时:com.netflix.hystrix.exception.HystrixRuntimeException:timed-out and fallback failed.
一. 背景在微服务项目中,我的服务消费使用的是Feign客户端,在调用服务提供者的时候报超时异常了,异常如下:com.netflix.hystrix.exception.HystrixRuntimeException: RemoteCardImgHandleFeign#getVehicleLicenseInfos(CardInfosVi) timed-out and fallback fail...原创 2020-04-29 13:59:18 · 3751 阅读 · 2 评论 -
SpringBoot项目启动只打印:Process finished with exit code -1解决
一、问题我的SpringBoot项目在启动的时候,控制台只打印了这么一句话,一直很迷惑,其实项目是启动了的,找了网上的解决方式,跟我的情况都不一样,什么Tomcat依赖包没加啊等等,其实我都加了,我的项目download自若依开源的ruoyi-cloud项目,先截个图:从面上看出我的工程下有个logback-spring.xml日志打印文件,项目的配置文件默认存放在nacos配置中心当中,n...原创 2020-04-16 17:59:39 · 3266 阅读 · 0 评论 -
nacos配置中心超时问题:java.net.ConnectException: no available server, currentServerAddr
一、问题在一次项目架构中,使用SpringCloud微服务架构,其中将Alibaba-Cloud配置SpringCloud组件使用,服务发现和配置中心使用的是阿里巴巴开源的组件nacos,nacos-server部署在linux下的centos7.0环境上,每个服务启动时都会去连接nacos-server端,在nacos-server部署在Linux环境下时,由于网络限制的原因,框架bug就产生...原创 2020-04-14 10:15:27 · 87131 阅读 · 26 评论 -
SpringCloud Alibaba 微服务架构(十)- Feign调用时Ribbon+Hystrix请求超时问题
1.使用Feign调用接口分为两层,Ribbon的调用和Hystrix的调用,所以Ribbon的超时时间和Hystrix的超时时间的结合就是Feign的超时时间。2.一般情况下 都是 Ribbon 的超时时间(<)Hystrix的超时时间(因为涉及到Ribbon 的重试机制),如果Ribbon 的超时时间大于Hystrix的超时时间,对于Ribbon 的重试是没有意义的(Hystrix超时熔断了,Ribbon 无法重试)。原创 2020-04-30 13:56:00 · 3097 阅读 · 1 评论 -
SpringCloud Alibaba 微服务架构(九)- Linux环境安装Nacos并持久化到Mysql
nacos在Windows环境和Linux环境安装启动稍有不同,默认情况下,`nacos`在Windows环境下是以单机模式启动运行,在Linux环境下是以集群模式启动运行的,因为nacos设计的初衷就是为了高可用的配置中心和注册中心而设计的,而大部分情况下生产环境的应用多基于Linux系统下部署,因此nacos在linux环境下默认就是以集群方式启动,如果想要单机模式启动运行需要稍作修改。原创 2020-04-14 21:49:03 · 491 阅读 · 0 评论 -
SpringCloud Alibaba 微服务架构(八)- Nacos高可用集群环境搭建
在前面学习在基于`SpringCloud`构建的微服务项目中,`Eureka`担任注册中心,实现服务的注册与发现,这样的组合在第一代`SpringCloud`微服务中使用还是很多的,后来国内某`Bat`公司基于`SpringCloud`的拓展,延伸了自身的一些微服务组件,由此兴起了第二代微服务`Spring Cloud Alibaba`,其中某些组件还是相率相当高的,就比如`nacos `,`nacos`集注册中心与配置中心于一体,极大的摆脱了在第一代微服务中使用`Spring Cloud Config`需原创 2020-04-14 21:45:28 · 1024 阅读 · 0 评论 -
SpringCloud Alibaba 微服务架构(七)- 将Nacos数据持久化到MySQL
# 一、前言在上一篇文章中,我们了解了使用`Nacos`实现配置中心默认存储方式以及数据存储在哪里,要知道,默认存储在`Derby`内嵌数据库中是不适用于生产环境的,那么这篇文章我们学习下如何持久化到`MySQL`数据中,这种方式比较适用于生产环境。原创 2020-04-11 00:03:06 · 1122 阅读 · 0 评论 -
SpringCloud Alibaba 微服务架构(六)- Nacos分布式配置中心存储原理
# 一、前言在上一篇文章: **[Spring Cloud Alibaba教程(三):使用Nacos实现分布式配置中心](https://blog.csdn.net/Thinkingcao/article/details/105444692)** 中,我们实现了基于`nacos`做分布式配置中心,实施的存储、更新我们的配置文件数据,在使用以往的一些配置中心时,服务重启或者注册中心重启后,配置文件数据将会丢失,这种情况是因为将数据储存在`JVM`的内存当中,当`JVM`不再提供运行时,数据也会相应的丢失,原创 2020-04-10 23:28:10 · 3044 阅读 · 1 评论 -
SpringCloud Alibaba 微服务架构(五)- 基于Nacos构建分布式配置中心
以下部分解释摘自于[`Nacos`官方文档](https://nacos.io/zh-cn/docs/what-is-nacos.html):- `Nacos` 致力于帮助您`发现`、`配置`和`管理`微服务。`Nacos `提供了一组简单易用的特性集,帮助您快速实现`动态服务发现`、`服务配置`、`服务元数据及流量管理`。- `Nacos `帮助您更敏捷和容易地构建、交付和管理微服务平台。 `Nacos `是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。- 其实原创 2020-04-10 23:26:45 · 1286 阅读 · 2 评论 -
SpringCloud Alibaba 微服务架构(四)- 服务调用之OpenFeign方式
微服务间的通讯是基于`HTTP`的,而`Feign`就是一个伪`HTTP`请求客户端,通过声明式的`Feign`客户端可以调用远程微服务,在实现远程微服务调用的过程中,多个实例存在的时候,`Ribbon`负载均衡器会默认的进行本地负载均衡,默认通过轮询机制进行微服务的调用,`Feign`默认则是集成了并且支持`Ribbon`负载均衡。原创 2020-04-17 23:11:18 · 2206 阅读 · 0 评论 -
SpringCloud Alibaba 微服务架构(三)- 服务调用之RestTemplate方式
一、前言`nacos`是第二代微服务`SpringCloudAlibaba`开源的一款注册中心和分布式配置中心组件,其功能上为第一代微服务`SpringCloud`中`Eureka`和`Config`的结合体。简而言之,`Nacos`可以实现分布式服务注册与发现和分布式配置中心功能。原创 2020-04-10 23:19:29 · 1376 阅读 · 0 评论 -
SpringCloud Alibaba 微服务架构(二)- Nacos注册中心高可用与原理解析
一、前言Nacos 文档: https://nacos.io/zh-cn/docs/what-is-nacos.html后续抽空更新。。。。。原创 2020-04-10 23:23:23 · 1179 阅读 · 3 评论 -
SpringCloud Alibaba 微服务架构(一)- 基于Nacos实现服务注册与发现
一、前言nacos是第二代微服务SpringCloudAlibaba开源的一款注册中心和分布式配置中心组件,其功能上为第一代微服务SpringCloud中Eureka和Config的结合体。简而言之,Nacos可以实现分布式服务注册与发现和分布式配置中心功能。Nacos官方文档: https://nacos.io/zh-cn/docs/what-is-nacos.html...原创 2020-04-17 23:07:32 · 1640 阅读 · 0 评论 -
SpringCloud Alibaba 微服务架构(开章)- 初步认识Spring Cloud Alibaba
一. Spring Cloud Alibaba简介Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。参考文档 请查看 WIKI :https://github.c原创 2020-11-04 11:23:22 · 1517 阅读 · 0 评论