java B2B2C 多租户电子商城系统-Spring Cloud常见问题与总结(三)

简介: 一.Spring Cloud各组件重试Spring Cloud各组件的重试配置。早期,Spring Cloud的重试机制是比较混乱的-各个组件都有自己的重试机制,例如Ribbon、Feign、Zuul。

一.Spring Cloud各组件重试

Spring Cloud各组件的重试配置。

早期,Spring Cloud的重试机制是比较混乱的-各个组件都有自己的重试机制,例如Ribbon、Feign、Zuul。官方也意识到了这个问题,并对重试相关逻辑进行了改造与简化。

在Spring Cloud Edgware中,配置重试是非常简单的。

重试步骤

1.重试依赖spring-retry,因此引入重试依赖

<dependency>
    <groupId>org.springframework.retry</groupId>
    <artifactId>spring-retry</artifactId>
</dependency>

2.配置重试

<client>
  ribbon:
    # 同一实例最大重试次数,不包括首次调用
    MaxAutoRetries: 1 
    # 重试其他实例的最大重试次数,不包括首次所选的server
    MaxAutoRetriesNextServer: 2 
    # 是否所有操作都进行重试
    OkToRetryOnAllOperations: false

其中是Ribbon Client名称,表示对指定名称的Ribbon Client进行重试。如果省略,则表示对所有Ribbon Client都进行重试。

3.对于Zuul,重试特性默认关闭。可使用zuul.retryable=true全局打开重试,也可使用zuul.routes..retryable=true打开指定重试。

 基于HTTP响应码重试

Spring Cloud也支持基于HTTP响应码进行重试,只需使用类似如下的配置即可:

<clientName>:
  ribbon:
    retryableStatusCodes: 404,502

关闭重试

1.对于其它组件,可配置spring.cloud.loadbalancer.retry.enabled=false.

2.对于zuul,可配置zuul.retryable=false或zuul.routes..retryable=true.

注意点

Hystrix的超时时间必须大于超时的时间,否则,一旦Hystrix超时,就没办法继续重试了。

一般来说,不建议将ribbon.OkToRetryOnAllOperations 设为true。因为一旦启用该配置,则表示重试任何操作,包括POST请求,而由于缓存了请求体,此时可能会影响服务器的资源。 java B2B2C 多租户电子商城系统

目录
相关文章
|
18小时前
|
JavaScript Java 测试技术
基于Java的公司员工工作日志办公系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的公司员工工作日志办公系统的设计与实现(源码+lw+部署文档+讲解等)
10 3
|
18小时前
|
JavaScript Java 测试技术
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
9 1
|
19小时前
|
JavaScript Java 测试技术
基于Java的高校大学生党建系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的高校大学生党建系统的设计与实现(源码+lw+部署文档+讲解等)
7 1
|
1天前
|
人工智能 前端开发 Java
Java语言开发的AI智慧导诊系统源码springboot+redis 3D互联网智导诊系统源码
智慧导诊解决盲目就诊问题,减轻分诊工作压力。降低挂错号比例,优化就诊流程,有效提高线上线下医疗机构接诊效率。可通过人体画像选择症状部位,了解对应病症信息和推荐就医科室。
25 10
|
1天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
2天前
|
存储 数据可视化 安全
Java全套智慧校园系统源码springboot+elmentui +Quartz可视化校园管理平台系统源码 建设智慧校园的5大关键技术
智慧校园指的是以物联网为基础的智慧化的校园工作、学习和生活一体化环境,这个一体化环境以各种应用服务系统为载体,将教学、科研、管理和校园生活进行充分融合。无处不在的网络学习、融合创新的网络科研、透明高效的校务治理、丰富多彩的校园文化、方便周到的校园生活。简而言之,“要做一个安全、稳定、环保、节能的校园。
19 6
|
2天前
|
消息中间件 存储 Java
深度探索:使用Apache Kafka构建高效Java消息队列处理系统
【4月更文挑战第17天】本文介绍了在Java环境下使用Apache Kafka进行消息队列处理的方法。Kafka是一个分布式流处理平台,采用发布/订阅模型,支持高效的消息生产和消费。文章详细讲解了Kafka的核心概念,包括主题、生产者和消费者,以及消息的存储和消费流程。此外,还展示了Java代码示例,说明如何创建生产者和消费者。最后,讨论了在高并发场景下的优化策略,如分区、消息压缩和批处理。通过理解和应用这些策略,可以构建高性能的消息系统。
|
2天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【4月更文挑战第17天】Spring Cloud是Java微服务治理的首选框架,整合了Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(熔断器)、Zuul(API网关)和Config Server(配置中心)。通过Eureka实现服务注册与发现,Ribbon提供负载均衡,Hystrix实现熔断保护,Zuul作为API网关,Config Server集中管理配置。理解并运用Spring Cloud进行微服务治理是现代Java开发者的关键技能。
|
2天前
|
Java API 对象存储
对象存储OSS产品常见问题之使用Spring Cloud Alibaba情况下文档添加水印如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
20 2
|
3天前
|
JavaScript Java 测试技术
基于Java的在线电影票购买系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的在线电影票购买系统的设计与实现(源码+lw+部署文档+讲解等)
18 0