9 Rude3Knife

尚未进行身份认证

我要认证

我是一名后端开发工程师。主要关注后端开发,数据安全,爬虫,物联网,边缘计算等方向,欢迎交流。 各大平台都可以找到我: - 微信公众号:后端技术漫谈 - Github:@qqxx6661 - CSDN:@蛮三刀把刀 - 知乎:@后端技术漫谈 - 简书:@蛮三刀把刀 - 掘金:@蛮三刀把刀 - 腾讯云+社区:@后端技术漫谈 原创文章主要内容: - 后端开发 - Java面试 - 设计模式/数据结构/算法题解 - 爬虫/边缘计算/物联网 - 读书笔记/逸闻趣事/程序人生

等级
TA的排名 6k+

MySQL选错索引导致的线上慢查询事故复盘

前言又和大家见面了!又两周过去了,我的云笔记里又多了几篇写了一半的文章草稿。有的是因为质量没有达到预期还准备再加点内容,有的则完全是一个灵感而已,内容完全木有。羡慕很多大佬们,一周能产出五六篇文章,给我两个肝我都不够。好了,不多说废话了…最近在线上环境遇到了一次SQL慢查询引发的数据库故障,影响线上业务。经过排查后,确定原因是SQL在执行时,MySQL优化器选择了错误的索引(不应该说是“错误”,而是选择了实际执行耗时更长的索引)。在排查过程中,查阅了许多资料,也学习了下MySQL优化器选择索引的基本准.

2020-07-30 20:07:45

【秒杀系统】秒杀系统实战(五): 如何优雅的完成订单异步处理

前言我回来啦,前段时间忙得不可开交。这段时间终于能喘口气了,继续把之前挖的坑填起来。写完上一篇秒杀系统(四):数据库与缓存双写一致性深入分析后,感觉文章深度一下子被我抬高了一些,现在构思新文章的时候,反而畏手畏脚,不敢随便写了。对于未来文章内容的想法,我写在了本文的末尾。本文我们来聊聊秒杀系统中的订单异步处理。本篇文章主要内容为何我们需要对下订单采用异步处理简单的订单异步处理实现非异步与异步下单接口的性能对比一个用户抢购体验更好的实现方式前文回顾零基础实现秒杀系统(一):防止超卖.

2020-07-12 13:19:03

【读书笔记】《漫画算法》:克服对算法的恐惧,从漫画开始

写在开头在上小学和初高中的时候,要我写读后感这种东西,我是非常厌恶的。无非就是老师布置的一个作业,还是那种无趣且磨人的工作。结果十多年过去了,到了工作的年纪,看书反倒是自觉地写起读后感来了,而且居然能坚持这么一直写下去了。让我出现这种转变的动力有两个:一个是互联网前所未有的拉近了人们的距离,一篇读后感真的不仅仅是交给老师的作业,更是交给网友的作业,这让人变得有动力了很多,毕竟总会有有缘人会看见你的文章。第二,到了这个年纪,学习变成了越来越奢侈且费力的事情。年轻的时候总觉得自己的时间用不完,到了现在

2020-06-20 21:33:35

【开源实战】Canal部署常见问题:重复解析/Filter失效/消费落后

前言Canal是阿里巴巴开源的数据库Binlog日志解析框架,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。在之前我写的文章阿里开源MySQL中间件Canal快速入门中,我已经介绍了Canal的基本原理和基础使用。在部署到生产环境的过程中,自己作为一个菜鸟,又踩了一些坑,期间做了记录和总结,并再解决后分析了下原因,便有了此文。本文重点内容Canal常见的三大问题原因分析及解决方案Binlog解析错误:重复解析/DML解析为QUERYFilter失效:设置过滤器无.

2020-06-11 20:23:06

【开源实战】阿里开源MySQL中间件Canal快速入门

前言距离上一篇文章发布又过去了两周,这次先填掉上一篇秒杀系统文章结尾处开的坑,介绍一下数据库中间件Canal的使用。Canal用途很广,并且上手非常简单,小伙伴们在平时完成公司的需求时,很有可能会用到。举个例子:公司目前有多个开发人员正在开发一套服务,为了缩短调用延时,对部分接口数据加入了缓存。一旦这些数据在数据库中进行了更新操作,缓存就成了旧数据,必须及时删除。删除缓存的代码理所当然可以写在更新数据的业务代码里,但有时候者写操作是在别的项目代码里,你可能无权修改,亦或者别人不愿你在他代码里写这.

2020-05-10 17:55:52

【秒杀系统】秒杀系统实战(四):缓存与数据库双写一致性深度分析

前言微笑挖坑,努力填坑。        ———— 已经拥有黑眼圈,但还没学会小猪老师时间管理学的蛮三刀同学本文是秒杀系统的第四篇,我们来讨论秒杀系统中缓存热点数据的问题,进一步延伸到数据库和缓存的双写一致性问题,并且给出了实现代码。前文回顾和文章规划零基础上手秒杀系统(一):防止超卖零基础上手秒杀系统(二):令牌桶限流 + 再谈超卖零基础上手秒杀系统(三):抢购接口隐藏 + 单用户...

2020-04-25 15:46:36

【秒杀系统】零基础上手秒杀系统(三):抢购接口隐藏 + 单用户限制频率

前言时光飞逝,两周过去了,是时候继续填坑了,不然又要被网友喷了。本文是秒杀系统的第三篇,通过实际代码讲解,帮助你了解秒杀系统设计的关键点,上手实际项目。本篇主要讲解秒杀系统中,关于抢购(下单)接口相关的单用户防刷措施,主要说两块内容:抢购接口隐藏单用户限制频率(单位时间内限制访问次数)当然,这两个措施放在任何系统中都有用,严格来说并不是秒杀系统独特的设计,所以今天的内容也会比较的...

2020-03-27 21:09:26

【秒杀系统】零基础上手秒杀系统(二):令牌桶限流 + 再谈超卖

前言本文是秒杀系统的第二篇,通过实际代码讲解,帮助你快速的了解秒杀系统的关键点,上手实际项目。本篇主要讲解接口限流措施,接口限流其实定义也非常广,接口限流本身也是系统安全防护的一种措施,暂时列举这几种容易理解的:令牌桶限流单用户访问频率限流抢购接口隐藏此外,前文发出后很多同学对于乐观锁在高并发时无法卖出全部商品提出了“严正抗议”,所以还是在本篇中补充讲解下乐观锁与悲观锁。前文回...

2020-03-14 16:09:31

【秒杀系统】从零开始打造简易秒杀系统(一):防止超卖

前言大家好,好久不发文章了。(快一个月了- -)最近有很多学习的新知识想和大家分享,但无奈最近项目蛮忙的,很多文章写了一半搁置在了笔记里,待以后慢慢补充发布。本文主要是通过实际代码讲解,帮助你一步步搭建一个简易的秒杀系统。从而快速的了解秒杀系统的主要难点,并且迅速上手实际项目。我对秒杀系统文章的规划:从零开始打造简易秒杀系统:乐观锁防止超卖从零开始打造简易秒杀系统:令牌桶限流从零开...

2020-03-07 19:40:50

【算法】二叉树遍历算法总结:前序中序后序遍历

前言二叉树遍历是非常经典的算法题,也是二叉树的一道基础算法题。但是在平常的笔试面试中,其出现的频率其实并不是特别的高,我推测是这种题目相对来说比较基础,算是一个基础知识点。比如剑指offer中出现的后序遍历题目,是给出一个数字序列,让你判断是不是平衡二叉树后序遍历序列,这样出题的难度比直接让你写后序遍历难很多。但是,二叉树遍历容易吗?在递归方法下,前中后序遍历都是一个思路,理解起来也比较...

2020-02-22 17:53:56

【设计模式自习室】结构型:组合模式 Composite

前言《设计模式自习室》系列,顾名思义,本系列文章带你温习常见的设计模式。主要内容有:该模式的介绍,包括:引子、意图(大白话解释)类图、时序图(理论规范)该模式的代码示例:熟悉该模式的代码长什么样子该模式的优缺点:模式不是万金油,不可以滥用模式该模式的应用案例:了解它在哪些重要的源码中被使用该系列会逐步更新于我的博客和公众号(博客见文章底部),也希望各位观众老爷能够关注我的...

2020-02-12 23:38:43

【读书笔记】《解忧程序员》读后感

写在开头2020年的春节假期,可能是近几年大家度过的最无趣,但是最印象深刻的假期了。肺炎的疫情愈发严重,春节的假期被“无限”的拉长。在这样“宅”在家的日子里,除了天天在床上无限翻滚,在手机电视上刷武汉疫情消息之外,也只好被迫在家里找点乐子,一顿翻箱倒柜之后,翻到了留在家里的几本技术书。之前特意留在家里的书,要么是看过的,要么是暂时都不太想法翻的书。这本《解忧程序员》也是如此。不过,为了让...

2020-01-30 21:51:58

【设计模式自习室】详解代理模式

前言《设计模式自习室》系列,顾名思义,本系列文章带你温习常见的设计模式。主要内容有:该模式的介绍,包括:引子、意图(大白话解释)类图、时序图(理论规范)该模式的代码示例:熟悉该模式的代码长什么样子该模式的优缺点:模式不是万金油,不可以滥用模式该模式的应用案例:了解它在哪些重要的源码中被使用该系列会逐步更新于我的博客和公众号(博客见文章底部),也希望各位观众老爷能够关注我...

2020-01-22 17:55:27

【设计模式自习室】享元模式 Flyweight Pattern:减少对象数量

前言《设计模式自习室》系列,顾名思义,本系列文章带你温习常见的设计模式。主要内容有:该模式的介绍,包括:引子、意图(大白话解释)类图、时序图(理论规范)该模式的代码示例:熟悉该模式的代码长什么样子该模式的优缺点:模式不是万金油,不可以滥用模式该模式的应用案例:了解它在哪些重要的源码中被使用该系列会逐步更新于我的博客和公众号(博客见文章底部),也希望各位观众老爷能够关注我...

2020-01-19 21:20:15

【设计模式自习室】门面模式 Facade Pattern

前言《设计模式自习室》系列,顾名思义,本系列文章带你温习常见的设计模式。主要内容有:该模式的介绍,包括:引子、意图(大白话解释)类图、时序图(理论规范)该模式的代码示例:熟悉该模式的代码长什么样子该模式的优缺点:模式不是万金油,不可以滥用模式该模式的应用案例:了解它在哪些重要的源码中被使用该系列会逐步更新于我的博客和公众号(博客见文章底部),也希望各位观众老爷能够关注我...

2020-01-18 12:32:15

【设计模式自习室】桥接模式 Bridge Pattern:处理多维度变化

前言《设计模式自习室》系列,顾名思义,本系列文章带你温习常见的设计模式。主要内容有:该模式的介绍,包括:引子、意图(大白话解释)类图、时序图(理论规范)该模式的代码示例:熟悉该模式的代码长什么样子该模式的优缺点:模式不是万金油,不可以滥用模式该模式的应用案例:了解它在哪些重要的源码中被使用该系列会逐步更新于我的博客和公众号(博客见文章底部),也希望各位观众老爷能够关注我...

2020-01-16 19:37:28

【删库跑路】使用Binlog日志恢复误删的MySQL数据

前言“删库跑路”是程序员经常谈起的话题,今天,我就要教大家如何删!库!跑!路!开个玩笑,今天文章的主题是如何使用Mysql内置的Binlog日志对误删的数据进行恢复,读完本文,你能够了解到:MySQL的binlog日志是什么?通常是用来干什么的?模拟一次误删数据的操作,并且使用binlog日志恢复误删的数据。写这篇文章的初衷,是有一次我真的险些把测试数据库的一张表给删除了,当时吓...

2020-01-13 23:14:11

【设计模式自习室】装饰模式

前言《设计模式自习室》系列,顾名思义,本系列文章带你温习常见的设计模式。主要内容有:该模式的介绍,包括:引子、意图(大白话解释)类图、时序图(理论规范)该模式的代码示例:熟悉该模式的代码长什么样子该模式的优缺点:模式不是万金油,不可以滥用模式该模式的实际使用案例:了解它在哪些重要的源码中被使用该系列会逐步更新于我的博客和公众号(博客见文章底部),也希望各位观众老爷能够关...

2020-01-05 21:00:30

【设计模式自习室】适配器模式

前言《设计模式自习室》系列,顾名思义,本系列文章带你温习常见的设计模式。主要内容有:该模式的介绍,包括:引子、意图(大白话解释)类图、时序图(理论规范)该模式的代码示例:熟悉该模式的代码长什么样子该模式的优缺点:模式不是万金油,不可以滥用模式该模式的实际使用案例:了解它在哪些重要的源码中被使用该系列会逐步更新于我的博客和公众号(博客见文章底部),也希望各位观众老爷能够关...

2020-01-04 23:32:40

【设计模式自习室】理解工厂模式的三种形式

前言《设计模式自习室》系列,顾名思义,本系列文章带你温习常见的设计模式。主要内容有:该模式的介绍,包括:引子、意图(大白话解释)类图、时序图(理论规范)该模式的代码示例:熟悉该模式的代码长什么样子该模式的优缺点:模式不是万金油,不可以滥用模式该模式的实际使用案例:了解它在哪些重要的源码中被使用该系列会逐步更新于我的博客和公众号(博客见文章底部)也希望各位观众老爷能够关...

2020-01-02 22:42:27

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。