![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Springcloud
文章平均质量分 69
懵懵懂懂程序员
编程上不断摸爬打滚的程序员! 相信美好的一切即将发生,一切问题都能解决。
展开
-
feign实现方法级别注解超时配置
feign方法级别超时配置原创 2023-08-26 15:22:20 · 435 阅读 · 0 评论 -
Redis实现分布式限流(学习笔记
Redis实现分布式限流原创 2022-07-09 14:03:09 · 1878 阅读 · 2 评论 -
fegin 单客户端配置类方式设置配置
fegin客户端配置原创 2022-07-04 17:42:14 · 992 阅读 · 0 评论 -
5-服务网关Gateway_读取与修改请求体
5-服务网关Gateway_读取与修改请求体原创 2021-11-24 13:39:15 · 3051 阅读 · 0 评论 -
4-Alibaba-Seata(个人理解事务原理)学习笔记2020.10.28
4-Alibaba-Seata(个人事务原理)学习笔记2020.10.28前言: (官网工作流程)在整个架构中, 重点的概念就是: TC(事务协调者, 相当于Seata的服务器)、 TM(事务管理者, 控制全局事务的提交与回滚的, 相当与电脑中的鼠标, 项目里面就是标记了@GlobalTransactional)、 RM(本地资源, 相当项目里面的本地事务操作数据库, 参与全局事务者)。工作流程TM也就是标记了@GlobalTransactional注解的, 向TC申请开启一个全局事务原创 2020-10-28 18:27:56 · 256 阅读 · 0 评论 -
3-Alibaba-Seata(事务测试)学习笔记2020.10.28
3-Alibaba-Seata(事务测试)学习笔记2020.10.28前言:前面, 已经将工程搭建完成, 下面进行项目的分布式事务测试, 看看结果是怎么样?根据业务流程进行调用: 下订单 - 减库存 - 扣余额1.0 进行测试1.1.1 数据库造数据为了测试方便直接在数据库中的库存与账户表里面造一条数据。顺便查看nacos管理中心是否应用服务都成功注册上去[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hwN4F2nJ-1603880663352)(h原创 2020-10-28 18:25:33 · 1355 阅读 · 0 评论 -
2-Alibaba-Seata(数据库准备)学习笔记2020.10.27
2-Alibaba-Seata(数据库与微服务准备)学习笔记2020.10.27前言: (官网)根据官网用例: 我们需要创建3个数据库, 分别是: 仓储服务(对应仓储) 、 订单服务(对应订单库) 、 帐户服务(对应订单库)业务流程是: 订单服务根据采购需求创建订单然后去调用仓储服务去扣减库存, 扣减库存成功在去从用户帐户中扣除余额要保证要么一起成功然后提交, 要么一起失败大家都进行回滚, 不能出现扣除账户余额失败了, 但库存与订单没回滚或者其他事务范围中间某一步失败了没回滚的情况。在以往单机原创 2020-10-28 18:23:17 · 577 阅读 · 0 评论 -
1-Alibaba-Seata(分布式事务解决方案)学习笔记2020.10.26
1-Alibaba-Seata(分布式事务解决方案)学习笔记2020.10.26前言: (官网)分布式事务的由来: 随着网络时代的不断发展, 由从前的单机服务部署(也就是一个应用对应一个数据库), 这种情况是没有分布式问题的, 到现在演变成多个应用与多个数据库多个实例部署(关系成为了多对多)分布式的问题就出现了, 如何保证不同应用中对应操作不同数据库的事务ACID, 要么统一成功, 要么统一失败, 下面进行学习阿里巴巴出品的分布式事务解决方案SeataSeata 是一款开源的分布式事务解决方案,致力原创 2020-10-26 22:29:29 · 397 阅读 · 0 评论 -
6-CloudAlibaba-Sentinel(规则持久化)学习笔记2020.10.25
6-CloudAlibaba-Sentinel(规则持久化)学习笔记2020.10.25前言: (官网 、动态规则)之前我们学习配置的规则都是临时的, 只要微服应用重启后, 规则就消失了, 需要重新配置。这样服务多了只后, 后续麻烦的事情会越来越多, 下面进行配置Push 模式规则持久化解决规则是临时的问题。规则管理及推送一般来说,规则的推送有下面三种模式:推送模式说明优点缺点原始模式API 将规则推送至客户端并直接更新到内存中,扩展写数据源(WritableDat原创 2020-10-26 15:00:42 · 455 阅读 · 0 评论 -
5-CloudAlibaba-Sentinel(热点参数与系统限流)学习笔记2020.10.25
5-CloudAlibaba-Sentinel(热点参数与系统限流)学习笔记2020.10.25前言:何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。比如:商品 ID 为参数,统计一段时间内最常购买的商品 ID 并进行限制用户 ID 为参数,针对一段时间内频繁访问的用户 ID 进行限制热点参数限流会统计传入参数中的热点参数,并根据配置的限流阈值与模式,对包含热点参数的资源调用进行限流。热点参数限流可以看做是一种特殊的流量原创 2020-10-25 22:41:08 · 203 阅读 · 0 评论 -
4-CloudAlibaba-Sentinel(整合OpenFeign)学习笔记2020.10.24
4-CloudAlibaba-Sentinel(整合OpenFeign)学习笔记2020.10.24前言: (Cloud官网 、GitHub官网)Sentinel与OpenFeign组件兼容。要使用它,除了引入sentinel-starter依赖关系之外,还需要完成以下两个步骤:在属性文件中启用伪装的Sentinel支持。 feign.sentinel.enabled=true添加openfeign starter依赖项以触发并启用sentinel starter:1.0 引入spring原创 2020-10-24 10:34:13 · 400 阅读 · 0 评论 -
3-CloudAlibaba-Sentinel(自定义降级方法)学习笔记2020.10.23
3-CloudAlibaba-Sentinel(@SentinelResource注解)学习笔记2020.10.23前言: (官网)Hystrix有@HystrixCommand指定条件与降级方法来进行服务降级, 返回自定义信息。Sentinel类似的注解就是@SentinelResourceSentinel 提供了 @SentinelResource 注解用于定义资源,并提供了 AspectJ 的扩展用于自动定义资源、处理 BlockException 等。使用 Sentinel Annotat原创 2020-10-23 17:20:45 · 772 阅读 · 1 评论 -
2-CloudAlibaba-Sentinel(熔断降级)学习笔记2020.10.22
2-CloudAlibaba-Sentinel(熔断降级)学习笔记2020.10.22前言: (官网)除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块,可能是另外的一个远程服务、数据库,或者第三方 API 等。例如,支付的时候,可能需要远程调用银联提供的 API;查询某个商品的价格,可能需要进行数据库查询。然而,这个被依赖服务的稳定性是不能保证的。如果依赖的服务出现了不稳定的情况,请求的响应时间变长,那么调用服务的方法的响应时间也会变长原创 2020-10-22 18:31:13 · 208 阅读 · 0 评论 -
1-CloudAlibaba-Sentinel(限流)学习笔记2020.10.21
1-CloudAlibaba-Sentinel(限流)学习笔记2020.10.21前言: (Cloud的官网 、GitHub官网 、Sentinel官网)阿里巴巴的Sentinel对比奈飞的Hystrix 有什么不同, 有什么优势? (下面是官网复制的, 更为详细看官网)Sentinel 具有以下特征:丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。原创 2020-10-22 15:38:53 · 829 阅读 · 0 评论 -
3-CloudAlibaba-Nacos(集群)学习笔记2020.10.19
3-CloudAlibaba-Nacos(集群)学习笔记2020.10.19前言: (官网)生产环境都是要保证高可用, 所以需要搭建Nacos集群, 来保证不会由于只有一个注册中心情况下挂了, 整个微服都出现问题, 由于Nacos默认使用的是内置嵌入式数据库derby, 如果搭建集群会出现数据一致性问题, 每个Nacos中数据库数据都不同。所以需要使用自定义MySQL数据库, 目前也仅支持MySQL。 (前面笔记1-注册中心中配置过自定义数据库进行持久化配置)从官网上的集群部署架构图上看,原创 2020-10-20 14:33:19 · 322 阅读 · 0 评论 -
2-CloudAlibaba-Nacos(配置中心)学习笔记 2020.10.15
2-CloudAlibaba-Nacos(配置中心)学习笔记 2020.10.15前言:以前项目单独使用CloudConfig, 只能实现配置文件从云端(git、svn)拉取下来,作为项目启动使用。没有集成CloudBus的情况下, 更改了配置文件只能重新启动项目使其生效。现在使用Nacos的配置中心功能就能非常简单实现CloudConfig+CloudBus 云端拉取配置文件作为项目启动, 并实时更新配置文件。下面进行快速入门。1.0 新建模块/引入依赖<!--nacos-conf原创 2020-10-15 18:29:39 · 251 阅读 · 0 评论 -
1-CloudAlibaba-Nacos(注册中心)学习笔记 2020.10.13
1-CloudAlibaba-Nacos(注册中心)学习笔记 2020.10.13前言:阿里的Nacos 为什么要使用他, 而不使用Eureka 或者 Consul 这些微服常用的注册中心。阿里的Nacos优势在于更易于构建原生应用的动态服务发现、配置管理和服务管理平台。简单的相当Nacos 拥有了注册中心(类似Eureka )与配置中心(CloudConfig) 加上CloudBus(实时刷新配置属性,生效)、3个功能技术的集合。同时支持CP数据强一致性模式, 支持注册持久化实例, 该模式注原创 2020-10-13 16:57:52 · 276 阅读 · 0 评论 -
SpringCloudStream框架学习笔记(2020.10.10)
SpringCloudStream框架学习笔记(2020.10.10)前言: (官网)CloudStream是什么? 为什么需要学习使用? 能做什么? 能解决什么问题?官网翻译:Spring Cloud Stream是一个框架,用于构建与共享消息传递系统连接的高度可扩展的事件驱动型微服务。该框架提供了一个灵活的编程模型,该模型建立在已经建立并熟悉的Spring习惯用法和最佳实践的基础上,包括对持久性pub / sub语义,使用者组和有状态分区的支持。网上看到的一句话理解: 屏蔽底层消原创 2020-10-12 17:10:16 · 385 阅读 · 0 评论 -
SpringCloudConsul(注册中心)学习笔记(2020.09.21)
SpringCloudConsul(注册中心)学习笔记(2020.09.21)前言: (官网 、中文文档)Consul是一种服务网格解决方案,提供具有服务发现,配置和分段功能的全功能控制平面。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建完整的服务网格。Consul需要一个数据平面,并支持代理和本机集成模型。Consul附带了一个简单的内置代理,因此开箱即用,但也支持Envoy等第三方代理集成。重点: Consul 提供了服务发现、运行状况检查、配置中心、控制总线等等, 你安装原创 2020-09-22 15:26:37 · 403 阅读 · 0 评论 -
搭建Eureka高可用注册中心(学习笔记2020.09.10)
搭建Eureka高可用(集群)注册中心(学习笔记2020.09.11)前言:为什么需要搭建Eureka, 试想一下, 整个微服务流程完全依靠单个EurekaService注册中心, 一旦请求越来越多, 注册中心压力越来越大, 然后挂了(不可用了), 那是不是整个应用就崩了。 这对于实际的生产环境问题很严重。所以配置一个高可用的注册中心很有必要, 一般实际生产环境配置2个即可。大概流程就是: 配置2个注册中心, 他们相互注册, 其他客户端同时把服务注册进2个注册中心(EurekaService)原创 2020-09-11 18:14:25 · 143 阅读 · 0 评论 -
服务网关Gateway全局通用异常处理
Spring Cloud Gateway 全局通用异常处理在传统 Spring Boot 应用中, 我们 @ControllerAdvice 来处理全局的异常,进行统一包装返回// 摘至 spring cloud alibaba console 模块处理@ControllerAdvicepublic class ConsoleExceptionHandler { @ExceptionHandler(AccessException.class) private ResponseE转载 2020-05-28 16:13:14 · 7693 阅读 · 1 评论 -
spring cloud Gateway 服务网关_重定向问题
PreserveHostHeader (重定向,问题解决)过滤器设置请求属性,路由过滤器将检查该请求属性,以确定是否应发送原始主机头,而不是由HTTP客户端确定的主机头. 以下示例配置了PreserveHostHeader GatewayFilter: filters: - PreserveHostHeader #发送网关原始主机头:return “redirect:/ord...原创 2020-04-03 17:30:40 · 10954 阅读 · 2 评论 -
4-服务网关Gateway_自定义过滤器学习笔记(2020.4.1)
4-服务网关Gateway_自定义过滤器学习笔记(2020.3.31)前言:Spring Cloud Gateway 已经内置了很多实用的过滤器,但并不能完全满足我们的需求。本文我们就来实现自定义过滤器。用于常见的过滤请求, token验证, 请求参数验证什么的。1.Filter 的生命周期Spring Cloud Gateway 的 Filter 的生命周期不像 Zuul 的那么...原创 2020-04-01 17:20:56 · 1174 阅读 · 0 评论 -
3-服务网关Gateway_网关过滤器学习笔记(2020.3.31)
3-服务网关Gateway_网关过滤器学习笔记(2020.3.31)前言:过滤器允许以某种方式修改传入的HTTP请求或返回的HTTP响应。过滤器的作用域是某些特定路由。Spring Cloud Gateway包括许多内置的 Filter工厂。1. 网关过滤器按需求使用那些过滤器。有关如何使用以下任何过滤器的更多详细示例,请查看单元测试。1.1 AddRequestHeader(...原创 2020-03-31 12:04:58 · 1218 阅读 · 1 评论 -
2-服务网关Gateway路由断言_学习笔记Factories(2020.3.31)
2-服务网关Gateway学习笔记(2020.3.31)前言:上面那篇服务网关Gateway只是快速入门使用了起来,下面介绍路由中断言的详细介绍。1. 路由断言FactoriesSpring Cloud Gateway将路由作为Spring WebFlux HandlerMapping基础结构的一部分进行匹配。Spring Cloud Gateway包含许多内置的路由断言Factor...原创 2020-03-31 10:48:53 · 813 阅读 · 0 评论 -
1-服务网关Gateway学习笔记(2020.3.30)
1-服务网关Gateway学习笔记(2020.3.30)前言:最近项目需要使用到的网关是Gateway而不是zuul。 所以来学习下。首先Gateway网关和zuul有什么区别, 为什么大佬选择使用Gateway主要区别, 在网上找了个比较好的说明 Spring Cloud Gateway VS Zuul , 个人感觉上Gateway性能更好,非阻塞, 不过好像2.1版本的zuul也修改...原创 2020-03-30 18:45:25 · 436 阅读 · 0 评论 -
1-集成熔断器Hystrix 学习笔记(2020.3.18)
熔断器Hystrix 学习笔记(2020.3.18完善)熔断器的功能:服务保护功能。它也是基于Netflix的开源框架 Hystrix实现的,该框架目标在于通过控制那些访问远程系统、服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。Hystrix具备了服务降级、服务熔断、线程隔离、请求缓存、请求合并以及服务监控等强大功能。Hystrix 能使你的系统在出现依赖服务失效的时候,通过隔离...原创 2020-03-18 17:59:50 · 479 阅读 · 0 评论 -
3-网关路由Hystrix回退(学习笔记2020.3.16)
3-网关路由Hystrix回退(学习笔记2020.3.16)前言:Hystrix是个熔断器,主要解决了服务调用不通,而一直阻塞从而导致服务连续崩溃问题,feign内部就有集成了熔断器实现起来非常简单,而Zuul网关依赖里面也包括了Hystrix依赖, 那么就可以来进行实现当网关转发请求的时候,一直连接不通,或者长时间获取不到响应的时候,触发熔断快速响应错误信息,避免阻塞!根据官网的文档...原创 2020-03-17 15:26:06 · 262 阅读 · 0 评论 -
4-Zuul网关过滤器(学习笔记2020.3.16)
Zuul网关过滤器(学习笔记2020.3.16)前言:过滤器是Zuul的核心组件,Zuul大部分功能都是通过过滤器来实现的。Zuul中定义了四种标准过滤器类型,这些过滤器类型对应于请求的典型生命周期! 学习这些过滤器,我们可以自定义一些过滤器来进行统一过滤功能, 例如: 统一验证token ,统一验证参数等等!Zuul中定义了四种标准过滤器类型过滤器中参数说明:filterType:...原创 2020-03-16 18:37:55 · 218 阅读 · 0 评论 -
1-集成服务网关Zuul学习笔记(2020.3.16)
服务网关Zuul 学习笔记路由是微服务架构不可或缺的一部分。例如,/可能被映射到您的Web应用程序,/api/users被映射到用户服务以及/api/shop被映射到商店服务。 Zuul是Netflix提供的基于JVM的路由器和服务器端负载平衡器使用服务网关做统一入口和统一认证,他可以和Eureka,Ribbon,Hystrix等组件配合使用。Zuul组件的核心是一系列的过滤器!配置统一...原创 2020-03-16 16:57:01 · 423 阅读 · 0 评论 -
2-服务网关zuul服务重试配置(学习笔记2020.03.13)
服务网关zuul服务重试配置(学习笔记2020.03.13)前言:集成网关服务,内部所有的其他微服务的调用,都将通过网关路由转发过去,不对外直接暴露微服,对外只暴露网关服务。而且一般内部服务会部署多个实例,zuul内部集成了ribbon,会自动负载均衡的方式去调用部署多台的内部服务。为什么需要网关zuul的服务重试呢?如果没有又有什么区别呢? 当然如果一个服务的实例只部署一个,那么重试是没...原创 2020-03-13 15:23:35 · 356 阅读 · 0 评论 -
Hystrix监控面板与监控数据聚合(学习笔记2020.03.11)
Hystrix监控面板(学习笔记2020.03.11 )断路器是根据一段时间窗内的请求情况来判断并操作断路器的打开和关闭状态的。而这些请求情况的指标信息都是HystrixCommand和HystrixObservableCommand实例在执行过程中记录的重要度量信息,它们除了Hystrix断路器实现中使用之外,对于系统运维和排查问题也有非常大的帮助。这些指标信息会以“滚动时间窗”与“桶”结合...原创 2020-03-11 19:32:29 · 310 阅读 · 0 评论 -
微服网关(Zuul)集成swagger统一模块API文档(2019.12.02)
微服网关集成swagger统一API文档(使用swagger-bootstrap-ui界面)使用swagger-bootstrap-ui 好处在于可以使用全局参数,例如请求头,或者公共请求参数。测试模块改造: (例如当他是商城后台管理模块)1. 加上swagger依赖: <!--springfox-swagger2依赖--> <dependency>...原创 2019-12-02 17:02:19 · 750 阅读 · 0 评论 -
SpringCloud-Config统一配置中心学习笔记(2019.11.28完善)
SpringCloud Config统一配置中心学习笔记在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是conf...原创 2019-11-28 17:51:40 · 168 阅读 · 0 评论 -
服务发现与注册组件Eureka学习笔记(2019.11.27)
服务发现组件 Eureka 学习笔记(2019.11.27)Eureka服务端(注册中心)开发1. 创建demo_eureka_service模块2. 在父工程 引入依赖: <dependencyManagement> <dependencies> <dependency> ...原创 2019-11-28 15:51:09 · 194 阅读 · 0 评论 -
Feign实现服务间的调用(学习笔记, 2020.3.19)
Feign实现服务间的调用(学习笔记, 2019.11.28)1. 加入Fegin依赖:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId>&l...原创 2019-11-28 11:33:24 · 736 阅读 · 0 评论