原文:解Bug之路-中间件"SQL重复执行"

前言 我们的分库分表中间件在线上运行了两年多,到目前为止还算稳定。在笔者将精力放在处理各种灾难性事件 例如中间件物理机宕机 数据库宕机 网络隔离等突发事件 时。竟然发现还有一些奇怪的corner case。现在就将排查思路写成文章分享出来。 Bug现场 应用拓扑 应用通过中间件连后端多个数据库,sql会根据路由规则路由到指定的节点,如下图所示: 错误现象 应用在做某些数据库操作时,会发现有比较大的 ...

2020-06-28 12:56 2 704 推荐指数:

查看详情

Bug之路-记一次中间件导致的慢SQL排查过程

Bug之路-记一次中间件导致的慢SQL排查过程 前言 最近发现线上出现一个奇葩的问题,这问题让笔者定位了好长时间,期间排查问题的过程还是挺有意思的,正好博客也好久不更新了,就以此为素材写出了本篇文章。 Bug现场 我们的分库分表中间件在经过一年的沉淀之后,已经到了比较稳定的阶段。而且经 ...

Mon Sep 07 17:54:00 CST 2020 20 2363
Koa 中间件执行

Node.js 中请求的处理 讨论 Koa 中间件前,先看原生 Node.js 中是如何创建 server 和处理请求的。 node_server.js Koa 中请求的处理 Koa 也是通过上面的 http.createServer ...

Tue Jun 04 07:41:00 CST 2019 0 604
FastAPI 学习之路(三十)中间件

什么是中间件呢,"中间件"是一个函数,它在每个请求被特定的路径操作处理之前,以及在每个响应返回之前工作. 它接收你的应用程序的每一个请求. 然后它可以对这个请求做一些事情或者执行任何需要的代码. 然后它将请求传递给应用程序的其他部分 (通过某种路径操作 ...

Tue Oct 19 14:55:00 CST 2021 0 844
java之生成可重复执行sql脚本

  在实际项目开发过程中,sql脚本需要多次执行。而一般的DML和DDL语句一般只能执行一次,再次执行执行时就会报错(操作对应已存在/不存在),所以必须将sql脚本生成可重复执行的。本文共分为4部分:1.什么是DDL和DML;2.DDL可重复执行脚本;3.DML可重复执行脚本。 1.什么是DDL ...

Tue Aug 22 00:49:00 CST 2017 0 2531
sql重复执行(插入数据)

1.插入语句 INSERT WHEN   (NOT EXISTS(SELECT * FROM 表名 WHERE 字段='xxx')) THEN INTO 表名("字段1","字段2","字段3 ...

Fri Jul 23 00:19:00 CST 2021 0 134
Django中间件执行顺序

中间件 Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出。中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django框架的健壮性。 我们可以使用中间件,在Django处理视图的不同阶段对输入或输出进行干预 ...

Sun Jul 15 02:02:00 CST 2018 0 1953
pytest——重复执行

一、重复执行用例repeat 1.安装:pip install pytest-repeat 2.执行:pytest test01.py --count=5 platform win32 -- Python 3.7.2, pytest-5.0.1, py-1.8.0 ...

Mon Sep 02 22:11:00 CST 2019 0 490
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM