![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
springcloudalibaba
文章平均质量分 80
一路向北North
这个作者很懒,什么都没留下…
展开
-
springcloudalibaba架构(32):各版本之间的对应关系
Spring Cloud Alibaba 开发,Spring Cloud Alibaba ,Spring Cloud ,Spring Boot 之间的版本对应关系。Spring Cloud Alibaba 适配的组件版本。原创 2022-09-20 23:07:10 · 390 阅读 · 0 评论 -
springcloudalibaba架构(31):SpringCloud实现用户信息在微服务之间传递(Feign和Dubbo)
微服务间如何进行用户信息传递?只能依靠接口调用时显式通过参数传递吗?能否在传递过程中无感知呢?原创 2022-09-20 01:18:57 · 5082 阅读 · 4 评论 -
springcloudalibaba架构(30):Dubbo的使用入门
Apache Dubbo时一款高性能的Java RPC框架。Dubbo是阿里巴巴开源的基于Java的高性能RPC分布式服务框架,致力于提供搞性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。Spring-Cloud-alibaba-dubbo是基于SpringCloudAlibaba技术栈对 dubbo技术的一种封装,目的在于实现基于RPC的服务调用。在service-1-api里定义接口}原创 2022-08-21 14:40:47 · 749 阅读 · 0 评论 -
springcloudalibaba架构(29): Seata分布式事务(AT模式)
分布式解决方案seata。Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata为用户提供了AT、TCC、SAGA和XA事务模式,为用户打造了一站式的分布式事务解决方案。这里我直接使用的seata默认的事务分组,也可以自己创建事务分组。原创 2022-08-20 19:08:49 · 965 阅读 · 0 评论 -
springcloudalibaba架构(28):分布式事务解决方案
什么是分布式事务?它于本地事务有什么区别?如何解决分布式事务的问题?原创 2022-08-16 22:16:30 · 1118 阅读 · 0 评论 -
springcloudalibaba架构(27):将微服务的配置内容转移到nacos
我们将微服务的配置内容进行统一管理,由nacos进行统一配置。原创 2022-08-16 10:43:28 · 1538 阅读 · 0 评论 -
springcloudalibaba架构(26):RocketMQMessageLisntener
RocketMQ两种消息模式。原创 2022-08-15 17:27:24 · 1396 阅读 · 1 评论 -
springcloudalibaba架构(25):RocketMQ事务消息
RocketMQ有特有的事物消息机制,事务消息是其它所有消息中间件所不具备的。RocketMQ提供事务消息,通过事务消息就能达到分布式事务的最终一致性。原创 2022-08-15 17:04:06 · 401 阅读 · 0 评论 -
springcloudalibaba架构(24):RocketMQ延时消息
延时消息。通常在电商项目中,某些热卖商品如果被下单锁定成功后,为了避免热卖商品被长时间锁定但是不付款,影响商品的售卖,一般都会设置5分钟未付款自动取消订单。而要实现该功能,有两种方案。......原创 2022-08-15 13:11:51 · 614 阅读 · 0 评论 -
springcloudalibaba架构(23):RocketMQ普通消息和顺序消息
RocketMQ发送不同的普通消息和顺序消息。原创 2022-08-15 11:00:11 · 560 阅读 · 0 评论 -
springcloudalibaba架构(22):RocketMQ消息生产和消费
RocketMQ生产消息和消费消息。原创 2022-08-12 19:08:13 · 397 阅读 · 0 评论 -
springcloudalibaba架构(21):MQ的简介
什么是MQ?有什么作用?MQ(Message Queue) 是一种跨进程的通信机制,用于消息传递。原创 2022-08-12 17:08:51 · 715 阅读 · 0 评论 -
springcloudalibaba架构(20):链路追踪ZipKin数据持久化至elasticsearch
ZipKin Server默认将追踪数据信息保存到内存,但这种方式不适合生产环境。Zipkin支持将追踪数据持久化到mysql或者elasticsearch中。原创 2022-08-12 01:36:10 · 730 阅读 · 0 评论 -
springcloudalibaba架构(19):链路追踪ZipKin数据持久化至mysql
ZipKin Server默认将追踪数据信息保存到内存,但这种方式不适合生产环境。Zipkin支持将追踪数据持久化到mysql或者elasticsearch中。本章代码已分享至Gitee:使用mysql实现数据信息持久化。原创 2022-08-12 01:35:42 · 792 阅读 · 0 评论 -
springcloudalibaba架构(18):链路追踪Sleuth+ZipKin
本章代码已分享至Gitee:在大型系统的微服务架构中,一个系统被拆分成很多模块。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往涉及多个服务。互联网应用架构在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能分布在几千台服务器上,横跨多个不同的数据中心,也就意味着这种架构形式也会存在一些问题。如何快速发现问题?如何判断故障影响范围?如何梳理服务依赖以及依赖的合理性?如何分析链路性能问题以及实施容量规划?......原创 2022-08-12 00:31:36 · 1091 阅读 · 0 评论 -
springcloudalibaba架构(17):Gateway网关限流
什么是网关限流?限流有哪些维度?如何自定义限流规则?本章代码已分享至Gitee:自定义API分组限流是一种更细粒度的限流规则。如何实现API分组限流?只要对上面GatewayConfiguration进行稍作修改/*** 网关限流} //初始化一个限流过滤器 @Bean @Order(- 1) public GlobalFilter sentinelGatewayFilter() {......原创 2022-08-11 15:39:14 · 906 阅读 · 2 评论 -
springcloudalibaba架构(16):Gateway过滤器
什么是过滤器?过滤器有什么用?过滤器的作用范围是什么?怎么样自定义过滤器?过滤器就是在请求的传递中对请求和响应做一些手脚。声明周期 Pre(处理前),Post(处理后)需求配置Log,第一个参数控制台是否打印,第二个参数缓存日志是否打印先在配置文件中进行配置Log = true,false #开启缓存日志和控制台日志,第一个参数控制台日志,第二个参数缓存日志2. 编写内部过滤器/*** 自定义的局部过滤器。......原创 2022-08-11 12:31:23 · 321 阅读 · 0 评论 -
springcloudalibaba架构(15):Gateway自定义路由断言
如果内置断言不满足我们的场景,如何自定义路由断言?我们知道了内置的断言,那么要自定义路由断言该如何操作呢?我们可以查看内置的断言如何实现?举例:BetweenRoutePredicateFactoryCtrl+NIDEA查找类知道内置路由断言的实现细节,我们只需要按照它的实现方式,来按部就班的实现自己的路由断言即可。下面我们就实现一个自己的路由断言。需求假设: 大于16岁,并且小于60岁,才能访问。先进行路由配置。......原创 2022-08-11 01:13:23 · 1007 阅读 · 0 评论 -
springcloudalibaba架构(14):Gateway内置路由断言
Predicate 断言,用于进行条件判断,只有断言都为真,才会真正的执行路由。SpringCloud Gateway包括许多内置的断言工厂,所有这些断言都与HTTTP请求的不同属性匹配。基于Datetime类型的断言工厂此类的断言根据时间来做判断,主要有三个AfterRoutePredicateFactory: 接收一个日期参数,判断请求日期是否晚于指定日期BeforeRoutePredicateFactory: 接收一个日期参数,判断请求日期是否早于指定日期。...原创 2022-08-11 00:21:19 · 443 阅读 · 0 评论 -
springcloudalibaba架构(13):Spring Cloud Gateway服务网关和入门案例
在微服务架构中,一个系统被拆成很多个小服务。作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端去记录每个微服务的地址,然后去分别调用。这样的架构,会存在很多的问题客户端多次请求不同的微服务,增加了客户端代码和配置编写的复杂性认证复杂,每个服务都需要独立认证鉴权存在跨域请求,在一定的场景下处理相对复杂。添加API网关之后,系统的架构图变成了如下所示:上面的这些问题可以借用API网关来解决。...............原创 2022-08-10 13:03:31 · 307 阅读 · 0 评论 -
springcloudalibaba架构(12):Feign整合Sentinel实现服务容错
Feign远程调用,Sentinel限流。如何将Feign整合Sentinel实现服务容错?原创 2022-08-09 16:33:01 · 480 阅读 · 0 评论 -
springcloudalibaba架构(11):Sentinel规则持久化至Nacos
通过Dashboard来为每个Sentinel客户端设置各种各样的规则,但是这里有一个问题,就是这些规则默认时存在内存中的,极不稳定,所以需要将其持久化。我们可以将规则持久化到磁盘文件,也可以持久化到nacos,zookeeper等注册配置中心。......原创 2022-08-09 13:07:25 · 660 阅读 · 0 评论 -
springcloudalibaba架构(10):Sentinel规则持久化到磁盘
通过Dashboard来为每个Sentinel客户端设置各种各样的规则,但是这里有一个问题,就是这些规则默认时存在内存中的,极不稳定,所以需要将其持久化。本章讲解如何持久化到磁盘。springboot版本:2.3.2.RELEASEspring-cloud版本:Hoxton.SR8spring-cloud-alibaba版本:2.2.5.RELEASEsentinel-dashboard版本: 1.8.4添加SpringBeanUtils在resources下新建目录META-INF/se原创 2022-08-08 17:14:40 · 181 阅读 · 0 评论 -
springcloudalibaba架构(9):@SentinelResource注解
学习@SentinelResource注解,如何处理限流后的请求?如何处理资源方法发生异常后的事情?方法提必须是public返回值类型和参数需要与资源方法一致。blockHandler可以在参数最后一列添加一个BlockException,而fallback可以在参数最后一列添加一个ThrowableblockHandler 指定的方法,当sentinel对资源发生限流时,限流后的请求将会进入blockHandler映射的方法。......原创 2022-08-06 18:25:12 · 250 阅读 · 0 评论 -
springcloudalibaba架构(8):Sentinel自定义规则异常返回信息
Sentinel 限流时返回的内容都一样,怎么样判断是什么形式的限流?这就要用到自定义规则异常了。Sentinel1.8,需要实现BlockExceptionHandler这个接口,这个接口,发现它有一个实现类。注:如果是1.8之前的版本,接口是UrlBlockHandler,但是实现代码实现方式没有差别。默认的实现类,有一个BlockException异常,是抽象异常,而这个异常有几个子异常。根据异常的类型,我们可以判断每个异常是什么类型。添加配置代码。.........原创 2022-08-05 19:05:07 · 589 阅读 · 0 评论 -
springcloudalibaba架构(7):Sentinel授权规则和系统规则
有时候,我们需要根据调用来源判断该次请求是否允许放行,这时候可以使用Sentinel的来源访问控制的功能。来源访问控制资源的请求来源(origin)限制资源是否通过。比如某资源的访问分为pc,mobile和app 三端都会调用。我们希望禁止app端的访问。我们将app设置为白名单,则只有app端的请求可以通过,其它端均不能通过。那么我们就需要从request里面获取标识信息。请求来源位于白名单可以通过,其它均不可以通过。请求来源为黑名单不通过,其它均可以通过。.........原创 2022-08-05 18:03:38 · 428 阅读 · 0 评论 -
springcloudalibaba架构(6):Sentinel热点规则
表示name这个字段的请求每秒(按照统计窗口时长为一个时间单位,默认1秒)请求阈值为2,超过2次就限流,每秒只接受两个处理请求,多余的限流。热点参数流控规则是一种更细粒度的流控规则,它允许将规则具体到参数上。本章使用的Sentinel版本为1.8.4,版本之间会存在差异。进入到热点规则,并点击编辑,点击高级选项。,频繁刷新发现被限流了,但是频繁请求。...原创 2022-08-05 16:39:14 · 179 阅读 · 0 评论 -
springcloudalibaba架构(5):Sentinel熔断规则
当资源请求数量达到最小请求数量,并且在统计时长的一个周期(单位毫秒,最大上限4900ms)内,其中的慢调用超过RT设定的最大响应时间的请求比例超过设定的比例阈值,则进入熔断状态,熔断时间内的请求将不再响应。当资源的请求数量达到最小请求数,并且每个统计时长时段内异常总数占通过量比例阈值之后,资源进入降级状态,进入熔断时长。在统计时长内,当请求数量满足配置的最小请求数,发生了的异常数量满足配置的异常数值时,进入熔断状态,熔断时长n秒。本章使用的Sentinel版本为1.8.4,版本之间会存在差异。...原创 2022-08-05 15:55:02 · 375 阅读 · 0 评论 -
springcloudalibaba架构(4):Sentinel流控规则
Sentinel的流控规则。原创 2022-08-05 14:19:54 · 350 阅读 · 0 评论 -
Sentinel链路模式规则无效
使用Sentinel链路模式规则不生效。原创 2022-08-05 11:31:20 · 1071 阅读 · 0 评论 -
springcloudalibaba架构(3):Sentinel的概念和功能
资源资源是Sentinel的关键采莲,它可以是Java应用程序中的任何内容,可以是一个服务,也可以是一个方法。规则作用在资源上,定义以什么样的方式保护资源,主要包括流量控制规则、熔断降级规则以及系统保护规则。...原创 2022-08-05 00:23:51 · 215 阅读 · 0 评论 -
springcloudalibaba架构(2):Sentinel服务容错与微服务集成Sentinel使用入门
在微服务架构中,我们将业务拆分成很多的服务,服务与服务之间可以互相调用,但是由于一些原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时如果有大量的请求,会形成任务堆积,导致服务雪崩。如何解决服务雪崩?Spring Cloud提供了一系列的组件。Hystrix(已闭源): Netflix开源的延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,提供系统的可用性和容错性。......原创 2022-08-04 18:08:58 · 393 阅读 · 0 评论 -
springcloudalibaba架构(1):零起点微服务项目环境搭建与实现服务调用Ribbon和Feign
基于spring cloud alibaba的架构,如何实现服务调用。原创 2022-08-04 14:53:16 · 347 阅读 · 0 评论 -
nacos基础(17):springcloudalibaba简单入门案例
文章目录前言1. Spring Cloud Alibaba综合集成架构1.1 总体结构1.2 工程结构说明1.3 创建工程结构1.3.1 父工程springcloudalibabademo1.3.2 application11.3.3 service-1&service-1-api&service-1-server1.3.4 service-2&service-2-api&service-2-server1.3.5 api-gateway1.3.6 项目模块和文件结构1.4原创 2022-04-27 01:35:28 · 1148 阅读 · 2 评论