SpringCloud
文章平均质量分 75
華小灼
愿世界没有bug
展开
-
SpringBoot整合Nacos并开启鉴权
nacos开启鉴权,并在服务器上配置开放的端口,通过SpringBoot服务连接服务器的nacos原创 2024-06-24 17:16:29 · 1819 阅读 · 0 评论 -
Spring Cloud Gateway 解决跨域问题
Spring Cloud Gateway 解决跨域问题原创 2022-10-28 16:45:31 · 5637 阅读 · 1 评论 -
SpringCloud微服务中找不到公共模块中的Spring对象
在SpringCloud微服务的公共模块中定义了一个mybaits的插件,用于自动生成主键id的值,但是在交给Spring管理的时候出了问题。由于是跨服务模块,并且是在不同的包路径下,其他模块在引入公共模块后找到公共模块中Spring管理的类。原创 2022-10-14 14:59:54 · 761 阅读 · 0 评论 -
Seata分布式事务处理整合--V1.4.1
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。相关介绍可以参考官方文档(传送门),关于分布式事务的相关介绍可以参考我上一篇文章(传送门),接下来就使用Alibaba的Seata AT模式(自动事务模式)来处理分布式事务1. 创建 UNDO_LOG 表 SEATA AT 模式需要 UNDO_LOG 表,用来记录回滚日志,其他业务的数据库请自行建立CR原创 2021-03-19 22:08:15 · 473 阅读 · 0 评论 -
分布式环境下的事务处理
首先来看看下面一张图,服务1远程调用服务2和服务3,如果调用服务2执行成功,调用服务3执行失败,服务3的方法通过事务进行了回滚,但是服务2是没有办法进行回滚的,因为不在同一个数据库,不是同一个事务。所以我们现在需要其中任何一个服务出现了异常,其他的服务也会跟着进行回滚,这就需要考虑分布式事务问题原创 2021-03-13 21:21:01 · 319 阅读 · 0 评论 -
SpringSession解决分布式下session共享问题
上一篇文章聊了在分布式服务下关于session的相关问题(传送门),而要解决这些问题,Spring给我们提供了一个很强大的工具—SpringSession,通过将session存在数据库中,让每个服务在调用时去数据库获取来解决session共享的问题,Spring在官方文档提供了几个数据库的整合例如redis,mysql,MongoDB,当然我们常用的一般选择redis,毕竟速度是最快的,所以接下来就使用redis来解决session共享的问题,相关文档可以参考官方文档(传送门) 先来简单的体验Sp原创 2021-02-27 16:09:21 · 219 阅读 · 0 评论 -
分布式下Session共享问题
在单体应用进行跨页面共享数据,一般常用的方法是使用HttpSession,在没有关闭页面之前,整个session的数据都是实时共享存在的,其原理大致可以参考下图 在分布式中,每个服务都有自己的域名,所以每个服务都有自己的cookie作用域,而cookie只在它自己的作用域中存在,也就是说session不能跨作用域共享;即使在同一个服务中,如果这个服务部署在多个服务器上,在一个服务器存的session,但是在其他服务器是没有这个session的,当负载均衡转发到其他服务器当然是找不到session的原创 2021-02-26 22:20:49 · 377 阅读 · 0 评论 -
SpringCloud Alibaba-OSS 对象存储服务
在我们项目开发中,会有许多的文件的上传下载,图片的读取等功能,而阿里巴巴在微服务框架中提供了一整套的解决方案,所以今天聊聊在微服务中使用阿里的OSS对象存储功能进行图片的上传读取。 阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。您可以通过提供的简单的REST接口,在任何时间、任何地点、任何互联网设备上进行上传和下载数据。基于OSS,您可以搭建出各种多媒体分享网站、网盘、个人和企业数据备份等基于大规模数据的服务原创 2020-12-21 21:37:38 · 1319 阅读 · 1 评论 -
SpringCloud Gateway 网关
简介 网关作为流量的入口,常用功能包括路由转发、权限校验、限流控制等;而SpringCloud Gateway 作为SpringCloud 官方推出的第二代网关框架,取代了Zuul网关 特征建立在Spring Framework 5,Project Reactor和Spring Boot 2.0之上能够匹配任何请求属性上的路由路由有独特的断言和过滤器集成断路器集成Spring Cloud DiscoveryClient integration易于编写断言和过滤器请求限速路.原创 2020-12-11 21:56:08 · 308 阅读 · 0 评论 -
Springcloud Alibaba Nacos 注册中心与配置中心
Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 之前写了关于SpringCloud的服务注册与发现组件Eureka组件,但是Eureka现在停更了,所以阿里爸爸给我们提供了一个更好用,功能更齐全,配置更加简便的组件—Nacos Nacos是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台,简单的说,它既是服务注册发现中心,也可以进行配置管理,将SpringCloud的Eureka和Config两个合成一个,使用起来更简的简单;官方文原创 2020-12-11 15:45:01 · 611 阅读 · 1 评论 -
SpringCloud config 分布式配置
源码地址:https://gitee.com/peachtec/springcloud分布式系统系统面临的配置文件的问题 微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务,由于每个服务都需要配置必要的配置信息才能运行,所以一套集中的,动态的配置管理设施必不可少, SpringCloud提供了ConfigServer来解决这个问题,我们每一个微服务自己带有一个application.yaml,那上百个配置文件修改起来,那工作量是相当的大原创 2020-12-03 22:51:06 · 170 阅读 · 0 评论 -
Zuul路由网关
源码地址:https://gitee.com/peachtec/springcloud 之前我们在访问微服务的时候是通过RestTemplate去请求的接口获取数据,接下来我们就换个方式,通过网关去访问,通过网关,可以将访问请求进行统一的管理什么是Zuul Zuul包含了对请求的路由和过滤两个主要的功能: 其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础,而过滤器功能则是负责对请求的处理过程进行干预,是实现请求校验,服务聚合等功能的基础;Zuul和Eurek原创 2020-12-02 21:51:06 · 197 阅读 · 0 评论 -
Hystrix服务熔断和服务降级
分布式面临的问题 复杂分布式体系结构中的应用程序有数十个依赖,每个依赖关系在某些时候将不可避免的失败服务雪崩 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C有调用其他的微服务,这就是所谓的"扇出",如果扇出的链路上的某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统的奔溃,即"雪崩效应" 对于高流量的应用来说,单一的后端依赖可能会导致所有的服务器上的所有资源在几秒钟内饱和,比失败更糟糕的是,这些应用程序还可.原创 2020-12-01 22:11:33 · 260 阅读 · 0 评论 -
Feign客户端负载均衡
什么是Feign Feign是声明式的web service 客户端,它让微服务之间的调用变得更加简单了,类似于controller调用service;SpringCloud集成了Ribbon和Eureka,可以在使用Feign时提供负载均衡的http客户端Feign能干啥 Feign旨在编写java http客户端变得更加容易 前面在使用Ribbon+RestTemplate时,利用RestTemplate对http请求的封装处理,形成了一套模板化的调用方法;但是在实际开发中,由于对.原创 2020-11-28 21:44:36 · 295 阅读 · 0 评论 -
Ribbon客户端负载均衡
什么是Ribbon Spring Cloud Ribbon 是基于NetFlix Ribbon 实现的一套客户端负载均衡的工具 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起;Ribbon的客户端组件提供一系列完整的配置,例如:连接超时、重试等等;简单地说,就是在配置文件中列出LoadBalance(简称LB:负载均衡)后面的所有的机器,Ribbon会自动帮助你基于某种规则,例如简单轮训、随机等去连接这些机器,.原创 2020-11-27 23:05:41 · 313 阅读 · 0 评论 -
Eureka服务注册与发现
什么是Eureka Eureka是NetFlix的一个子模块,也是最核心的模块之一;NetFlix在设计Eureka时遵循的是AP原则;Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移,服务注册与发现对于微服务来说非常重要,有了服务注册与发现,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务调用的配置文件,功能类似于Dubbo的注册中Zookeeper 原理Eureka的基本架构SpringCloud封装了NetFlix公司开发的Eur.原创 2020-11-24 22:36:42 · 286 阅读 · 0 评论 -
SpringCloud初体验
上一章说了关于SpringCloud的一些理论,今天开始上代码进行演示。SpringCloud与SpringBoot的个版本之间存在兼容性问题,所以在创建项目的时候一定一定要注意版本的选择。 1.创建一个普通的maven项目,用这个项目去管理其他的功能模块2.项目创建完成配置pom.xml文件,并导入需要的jar包在父工程内导入项目需要的jar包进行统一管理,子工程只需要引用就行,不用去管理版本,所有的jar包版本都在父工程中进行统一管理<!-- 打包方式 pom--><原创 2020-11-21 23:24:30 · 188 阅读 · 0 评论