ICode9

精准搜索请尝试: 精确搜索
  • RabbitMq高级之如何保证消息发送可靠性2021-11-30 11:34:31

    1.RabbitMq的发送机制学过RabbitMq的同学们大概都知道了RabbitMq发送机制引入了Exchange(交换机的概念),消息发送方,首先把消息发送到交换机这是第一个步骤,然后交换机在把消息路由到不同的队列中(Queue)这是第二个步骤,在有不同的消费者去消费。 注意:大致,知道消息发送的整个过

  • SpringCloud(1-5) OpenFeign2021-11-29 15:02:08

    OpenFeign:声明式 RESTful 客户端 类似于 RestTemplate ,OpenFeign 是对 JDK 的 HttpURLConnection(以及第三方库 HttpClient 和 OkHttp)的包装和简化,并且还自动整合了 Ribbon 。 #1. 什么是 OpenFeign Feign 早先由 Netflix 公司提供并开源,在它的 8.18.0 之后,Nefflix 将其捐赠给 S

  • Rabbitmq、Kafka 、Jmq总结2021-11-26 16:03:26

    Rabbitmq的手动ACK和自动ACK 当消息一旦被消费者接收,队列中的消息就会被删除。那么问题来了:RabbitMQ怎么知道消息被接收了呢? 这就要通过消息确认机制(Acknowlege)来实现了。当消费者获取消息后,会向RabbitMQ发送回执ACK,告知消息已经被接收。不过这种回执ACK分两种情况: 自动ACK:消息

  • 大数据Azkaban Work Flow实战2021-11-24 21:03:06

    目录 1 HelloWorld 案例1.1 yarm语法: 2 作业依赖案例2.1 修改 basic.flow 为如下内容2.2 将修改后的 basic.flow 和 azkaban.project 压缩成 second.zip 文件2.3 重复 HelloWorld 后续步骤。 3 自动失败重试案例3.1 编译配置流3.2 将修改后的 basic.flow 和 azkaban.projec

  • RPC 框架总结与进阶2021-11-20 23:31:08

    框架总结 Netty 服务端启动 Netty 提供了 ServerBootstrap 引导类作为程序启动入口,ServerBootstrap 将 Netty 核心组件像搭积木一样组装在一起,服务端启动过程我们需要完成以下三个基本步骤: 配置线程池。Netty 是采用 Reactor 模型进行开发的,在大多数场景下,我们采用的都是主从多线

  • Python3,异常进阶写法之retrying。2021-11-20 11:33:00

    异常进阶写法 1、引言2、异常进阶写法2.1 普通写法2.1.1 追加日志定位异常2.1.2 增加重试机制 2.2 进阶写法2.2.1 安装2.2.1 装饰器retry使用2.2.2 添加最大次数限制2.2.3 添加最长重试时间2.2.4 设置固定重试时间2.2.4 设置时间重试范围2.2.5 设置特定异常类型2.2.6 根据

  • SpringCloud 2020.0.4 系列之 Stream 消息出错重试 与 死信队列 的实现2021-11-17 19:00:25

    1. 概述 老话说的好:出错不怕,怕的是出了错,却不去改正。如果屡次出错,无法改对,就先记下了,然后找援军解决。   言归正传,今天来聊一下 Stream 组件的 出错重试 和 死信队列。   RabbitMQ 镜像模式集群的搭建,可参见我的另一篇文章《RabbitMQ 3.9.7 镜像模式集群的搭建》(https://www.cn

  • SpringCloud升级之路2020.0.x版-34.验证重试配置正确性(2)2021-11-14 09:00:39

    本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 我们继续上一节针对我们的重试进行测试 验证针对限流器异常的重试正确 通过系列前面的源码分析,我们知道 spring-cloud-openfeign 的 FeignClient 其实是懒加载的。所以我们实现的断路器也是懒加载的,需要先调用,之

  • SpringCloud升级之路2020.0.x版-34.验证重试配置正确性(1)2021-11-13 13:02:11

    本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 在前面一节,我们利用 resilience4j 粘合了 OpenFeign 实现了断路器、重试以及线程隔离,并使用了新的负载均衡算法优化了业务激增时的负载均衡算法表现。这一节,我们开始编写单元测试验证这些功能的正确性,以便于日后

  • 基于mysql实现乐观锁2021-11-03 20:02:07

    最近开发微服务商城用户账户余额扣减发生的问题,比如说一个用户的账户同时扣减买东西的时候在高并发情况下会出现余额少扣的情况。 其实解决方案可以使用悲观锁去只让一个线程去实现,但是我想做并发量并不是很大感觉极限情况下最多也就10qps 悲观锁阻塞线程其实有点浪费性能,所以采

  • 分布式事务的 6 种解决方案2021-11-03 10:34:03

    介绍 在分布式系统、微服务架构大行其道的今天,服务间互相调用出现失败已经成为常态。如何处理异常,如何保证数据一致性,成为微服务设计过程中,绕不开的一个难题。在不同的业务场景下,解决方案会有所差异,常见的方式有: 阻塞式重试; 2PC、3PC 传统事务; 使用队列,后台异步处理; TCC

  • broker处理发送消息判断逻辑2021-10-28 19:04:23

    SendMessageProcessor asyncSendMessage private CompletableFuture<RemotingCommand> asyncSendMessage(ChannelHandlerContext ctx, RemotingCommand request, SendMessageContext mqtraceContext,

  • 分布式事物SAGA2021-10-21 22:01:40

    目录概述SAGASAGA的执行方式存在的问题重试机制SAGA VS TCC实现SAGA的框架 概述SAGA SAGA是1987 Hector & Kenneth 发表的论文,主要是解决长事务执行的问题。有的系统比较旧同时也需要长事物,不能改造,那么比较适用这种场景处理,还有金融行业比较适合用这种事务,主要也是流程会比较长。

  • 更好的 java 重试框架 sisyphus 入门简介2021-10-20 22:03:27

    What is Sisyphus sisyphus 综合了 spring-retry 和 gauva-retrying 的优势,使用起来也非常灵活。 为什么选择这个名字 我觉得重试做的事情和西西弗斯很相似。 一遍遍的重复,可能徒劳无功,但是乐此不疲。 人一定要想象西西弗斯的快乐。——加缪 其他原因 以前看了 java retry 的相关

  • 分布式消息队列RocketMQ工作原理与应用(三)2021-10-20 11:02:01

    第 4 章 RocketMQ应用 一、普通消息 1 消息发送分类 Producer对于消息的发送方式也有多种选择,不同的方式会产生不同的系统效果。 同步发送消息 同步发送消息是指,Producer发出一条消息后,会在收到MQ返回的ACK之后才发下一条消息。该方式的消息可靠性最高,但消息发送效率太低。

  • Dubbo学习2021-10-18 20:03:31

    Dubbo的快速入门案例 一,配置服务的提供者 1.@Service的注解为Dubbo的注解 2.配置Spring的配置文件 2.1配置项目的名称 <dubbo:application name="(项目的名称)"/> 2.2 配置注册中心的地址 <dubbo:registry address="zookeeper://192.168.149.135:2181"/> 2.3 启动dubbo的注解

  • kafka:(2) 生产者2021-10-18 09:34:24

    一、向Kafka发送消息的主要步骤 我们从创建一个 ProducerRecord 对象开始,ProducerRecord对象需要包含目标主题和要发送的内容。我们还可以指定键或分区。在发送 ProducerRecord对象时,生产者要先把键和值对象序列化成字节数组,这样它们才能够在网络上传输 。 接下来,数据被传给分区

  • 【spring cloud】feign组件的使用2021-10-13 22:34:58

    feign组件在spring cloud体系中主要负责方法的远程调用,有了它,调用其他应用的接口,不需要使用RestTemplate那么麻烦,在简单的配置后,可以直接将接口Autowired进来,直接调就好,很简单。这里主要讲下怎么简单的配置下feign。 引入依赖 部分依赖如下所示: feign的依赖, <!--feig

  • 第一篇 【springcloud项目中Ribbon、Hystrix使超时问题处理及配置策略】2021-10-10 15:02:59

    springcloud项目中Ribbon、Hystrix使超时问题处理及配置策略 本篇主要介绍如何配置Ribbon、Hystrix使超时问题,不涉及zuul的具体情况,涉及zuul的请看第二篇。同时都是基于Eureka 注册服务做为前提的。 1. ribbon配置 只配置ribbon是不生效的,还需要配置hystrix 后来发现这样配置根

  • 记录ribbion默认重试问题2021-10-10 11:00:42

    2021-10-10 09:46:59.981 ERROR 13712 --- [p-nio-80-exec-9] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is feign.RetryableE

  • Qt 中的网络文件下载2021-10-09 09:02:54

            在电子白板的系统层,我们用 Qt 实现重点是从网络上下载文件,具体的任务有: 用 QNetworkManager 下载网络文件实现一个特殊的 QIODevice 管理数据流 网络处理         从网络下载文件会面临许多的问题:网络暂时不通、TCP连接卡顿、连接断开,用户会等待焦虑,被失败

  • 从0到1带你手撸一个请求重试组件,不信你学不会!2021-10-08 13:02:33

    背景介绍 在实际的项目应用场景中,经常会需要遇到远程服务接口的调用,时不时会出现一些接口调用超时,或者函数执行失败需要重试的情况,例如下边的这种场景: 某些不太稳定的接口,需要依赖于第三方的远程调用,例如数据加载,数据上传相关的类型。 方案整理 基于try catch机制 这种方式来做

  • Go微服务容错与韧性(Service Resilience)2021-10-06 23:01:20

    Service Resilience是指当服务的的运行环境出现了问题,例如网络故障或服务过载或某些微服务宕机的情况下,程序仍能够提供部分或大部分服务,这时我们就说服务的韧性很强。它是微服务中很重要的一部分内容,并被广泛讨论。它是衡量服务质量的一个重要指标。Service Resilience从内容上讲

  • 百度网盘错误消息状态码大全2021-10-03 18:04:14

    百度网盘错误消息 返回状态码 对应消息含义 n = { 0: "成功", "-1": "用户名和密码验证失败", "-3": "用户未激活(调用init接口)", "-4": "COOKIE中未找到host_key&user_key(或BDUSS)", "-6"

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有