ICode9

精准搜索请尝试: 精确搜索
  • 微服务设计指导-用“死信-延时”队列彻底解决业务超时补偿时发生的数据库“死锁”问题2022-02-04 18:04:03

    简介 业务超时这种场景我们经常碰到。举例来说:支付在请求到支付网关后但支付网关那或者是因为第三方支付渠道问题、亦或是网络等问题导致这笔支付回调没有“成功”或者根本就没有回调请求来通知企业方相关的支付状态。对于此情况我们亲爱的程序员们我看了最多的设计就是喜欢用

  • Feign Client 超时时间配置2022-01-31 22:02:32

      在Spring Boot微服务架构中,大部分公司都是利用Open Feign进行服务间的调用,而在业务场景比较简单的时候,使用默认配置是不会遇到多大问题的。但是如果业务比较复杂,服务要进行比较繁杂的业务计算,那后台很有可能会出现Read Timeout这个异常,因此定制化配置超时时间就有必要了。  

  • Mysql 客户端常见异常分析2022-01-28 12:58:00

    SocketTimeoutException jdbc timeout包括Transaction Timeout/Statement Timeout/connectTimeout/socketTimeout四种类型,详细解释可见Jdbc & Mysql timeout分析 如果与服务器连接成功,即开始数据传输。如果服务器处理数据用时过长,超过了socketTimeout,就会抛出SocketTimeOutE

  • Flink 生产实践 性能问题2022-01-27 20:31:56

    1. CDC 性能问题 问题描述: ChunkSplitter split chunks 耗时导致CheckPoint 超时 job重启 解决方案: 增大CheckPoint超时间隔增大Chunk.Size(需考虑数据源压力) 2. JM 和 TM 内存分配问题 问题描述: 当容器内存全部使用时,RM会kill 容器,重新申请容器,最终任务失败 解决方案:

  • hive on spark 客户端连接超时2022-01-27 18:05:14

    Hive on spark,执行时报错 解决: 在yarn web界面上点击执行失败的任务: 从这上面可以看出,hdfs://master/hive/spark_jars/guice-4.0.jar有问题 找到机器http://datamiddle-249:8042,查看nodemanager日志 日志里面搜索刚才的任务 可以看见如下日志 可以看出,guice-4.0.jar文

  • Raft协议图解,缺陷以及优化2022-01-26 18:04:52

    结点的状态 每个结点可以有三种状态:Follower,Candidate,Leader。所有的结点都是从Follower状态开始的 如果followers没有收到leader的RPC消息(心跳),则可以转换为candidate,如下图node a,Term表示任期 而candidate需要发起投票,其他结点参与投票,回复他们的投票结果,如果这个candidat

  • Java 内存泄漏排查,新技能Get2022-01-26 14:04:49

    | 背景 前些日子小组内安排值班,轮流看顾我们的服务,主要做一些报警邮件处理、Bug 排查、运营 issue 处理的事。工作日还好,无论干什么都要上班的,若是轮到周末,那这一天算是毁了。 不知道是公司网络广了就这样还是网络运维组不给力,网络总有问题,不是这边交换机脱网了就是那边路由器坏

  • 如何保证幂等性2022-01-25 15:34:14

    目录一、背景:二、场景:1、前端重复提交:2、接口超时重试:3、消息重复消费:三、幂等性方案:1、业务表唯一索引:2、状态流转控制:3、乐观锁版本号:4、去重:5、分布式锁: 一、背景: 分布式场景下,接口的开发大都需要保证幂等性。 幂等性:一个接口被调用,不管几次,产生一样的效果,一样返回结果。

  • CloseableHttpClient没设置超时时间引发的血案2022-01-24 19:03:33

    项目背景 一个Java语言写的任务系统,使用固定线程大小的线程池处理长时间任务,任务具体业务逻辑为周期性调用一个外部http接口。调用外部接口使用的是CloseableHttpClient 问题现象 某一天任务调用的外部http接口切换到新域名下,连续好几天发现线程池有偶现的任务线程不打印业务日

  • Java 实现订单未支付超时自动取消2022-01-24 09:31:37

    在电商上购买商品后,如果在下单而又没有支付的情况下,一般提示30分钟完成支付,否则订单自动。比如在京东下单为完成支付: 超过24小时,就会自动取消订单,下面使用 Java 定时器实现超时取消订单功能。 Timer 定时器 Timer 是一个调度任务的执行的工具,任务可以一次性定时执行或者定时重

  • Redis 分布式锁的正确实现原理演化历程与 Redisson 实战总结2022-01-22 21:30:46

    https://mp.weixin.qq.com/s/rRNJO8q02Mn7egGxaiVj6A Redis 分布式锁的正确实现原理 演化历程与 Redisson 实战总结 Redis 分布式锁使用 SET 指令就可以实现了么?在分布式领域 CAP 理论一直存在。 分布式锁的门道可没那么简单,我们在网上看到的分布式锁方案可能是有问题的。 「

  • 学习AJAX必知必会(3)~自动重启工具nodemon、缓存问题、请求超时和网络异常、取消重复请求2022-01-22 11:34:47

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 1、nodemon 自动重启工具(自动重启基于nodejs开发的服务端应用) ■ nodemon 是一个工具,通过在检测到目录中的文件更改时自动重

  • 学习AJAX必知必会(3)~自动重启工具nodemon、缓存问题、请求超时和网络异常、取消重复请求2022-01-22 11:04:44

    1、nodemon 自动重启工具(自动重启基于nodejs开发的服务端应用) ■ nodemon 是一个工具,通过在检测到目录中的文件更改时自动重新启动node应用程序来帮助开发node.js。 //安装nodemon命令(全局安装): npm install -g nodemon 2、解决缓存问题:当请求资源不变(地址栏的url),不再发送新的请

  • openFeign原理和使用2022-01-19 22:02:18

    1、前言 前面介绍了Spring Cloud 中的灵魂摆渡者Nacos,和它的前辈们相比不仅仅功能强大,而且部署非常简单。 今天介绍一款服务调用的组件:OpenFeign,同样是一款超越先辈(Ribbon、Feign)的狠角色。 文章目录如下: 2、Feign是什么? Feign也是一个狠角色,Feign旨在使得Java Http客户端

  • 限定等待时间2022-01-16 11:03:31

    4.3 限定等待时间 之前介绍过的所有阻塞调用,将会阻塞一段不确定的时间,将线程挂起直到等待的事件发生。在很多情况下,这样的方式很不错,但是在其他一些情况下,你就需要限制一下线程等待的时间了。这允许你发送一些类似“我还存活”的信息,无论是对交互式用户,或是其他进程,亦或当用

  • Session会话(超详细)2022-01-14 22:59:48

    一、什么是Session会话 Session 就一个接口(HttpSession)。Session 就是会话。它是用来维护一个客户端和服务器之间关联的一种技术。每个客户端都有自己的一个 Session 会话。Session 会话中,我们经常用来保存用户登录之后的信息。 二、如何创建 Session 和获取(id号,是否为新) 如何

  • 如何处理Dubbo调用超时2022-01-13 14:32:26

    #一、简述 同步调用是一种阻塞式的调用方式,即 Consumer 端代码一直阻塞等待,直到 Provider 端返回为止。dubbo默认的协议是netty, Netty 是 NIO 异步通讯机制,那么服务调用是怎么转化为同步的呢?Dubbo是阿里开源的RPC框架,因为基于接口开发支持负载均衡、集群容错、版本控制等特性

  • 分布式锁总结2022-01-11 18:03:26

    分布式锁 一、分布式锁应用 系统演进 单体->集群->微服务 单体:技术架构上为一个单体应用,即一个应用一个DB。 集群:在多个服务器上部署应用。一组相互独立的、通过高速网络互联的计算机。 微服务:各应用独立开发、独立测试、独立运维。 微服务解决了什么问题? 解决了协同、效率的

  • Java机试题*:字符串通配符(根据题目指定字符以及对应的通配要求处理,超时情况处理)2022-01-11 14:03:49

    描述 问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求:实现如下2个通配符:*:匹配0个或以上的字符(注:能被*和?匹配的字符仅由英文字母和数字0到9组成,下同)?:匹配1个字符 注意:匹配时不区分大小写。 /** *

  • 【线上问题排查】数据库死锁2022-01-09 16:33:47

    前言:   MySql数据库事务特性AICD,原子性、隔离性、一致性和持久性,本文要介绍的就是一个因为隔离性而导致的问题,该问题不具有普适性,因为带有了一小部分异常被覆盖的前置条件,该条件导致了问题更难发现 背景:   生产上有两个系统,一个接单系统,一个作业系统,作业系统负责接单系统下发

  • GRPC 的超时机制2022-01-09 15:36:14

    client 端添加超时机制 // 添加超时机制 ctx,_ := context.WithTimeout(context.Background(),time.Second*3) // 执行服务端的方法 res,err := c.SayHello(ctx,&proto.StreamReqData{Data: "hi"})   超时返回的错误信息为 fmt.Println(st.Message()) // context deadline ex

  • Nginx报错404,由于请求处理时间过长2022-01-09 10:06:20

    问题复现 近期部门内部有一个应用由于数据量过于庞大,或者说sql优化性能问题,导致查询全量数据时老报错nginx404,后来查看浏览器timing信息,发现其竟然时常达到可怕的2分钟十秒,抛去解决sql优化问题,这里从Nginx端的配置来说如何解决这类问题! 存在的问题 服务器处理请求时间过长,导

  • Suricata6.0流表管理源码注释六:流的老化022022-01-08 23:06:50

            流老化入口函数FlowManger调用函数FlowTimeoutHash完成流老化处理,这个函数完成了大部分老化工作,把一个老化的流从flow_hash上移走,移入了回收队列,由回收线程取出来放入空闲全局flow内存池。 1. FlowTimeoutHash 函数 FlowManager-》FlowTimeoutHash 函数有两个参

  • TCP保证可靠传输详解2022-01-05 23:05:10

    校验和     序列号和确认应答    超时重传   连接管理      流量控制   拥塞控制     

  • 设置超时提醒2022-01-05 15:34:29

    1、在request方法中,每次请求后,保存一个延迟器放置于storage中。 2、封装一个延迟器方法,每次请求接口后调用,清除storage里的延迟器,再重新设置一个新的延迟器 3、封装一个超时弹框,点击确认按钮调用后台接口,未超时则更新延迟器,超时即退出登录。 4、封装一个调用弹框的方法 封装超时提

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

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

ICode9版权所有