2021年11月16日
摘要: 再接再厉吧 既然开通的个人公众号,那以后就要更加严谨,认真的去写每一篇文章。公众号名字随便取的,叫了个 后端元宇宙,哈哈。希望大家多多关注支持呀。 以后文章优先推送公众号哈 阅读全文
posted @ 2021-11-16 13:53 雨点的名字 阅读(313) 评论(6) 推荐(2) 编辑
  2022年6月30日
摘要: 一、项目介绍 1、项目背景 有时候我们数据库中存储一些敏感的信息比如手机号、银行卡号,我们希望我们查询出来的的时候对一些敏感信息做一些脱敏处理。 当面项目是基于自定义Mybatis插件方式实现数据脱敏处理,通过插件拦截结果集进行脱敏后再返回,所以对于使用者透明,业务逻辑无感知。 目前支持用户名脱敏、 阅读全文
posted @ 2022-06-30 09:10 雨点的名字 阅读(16) 评论(0) 推荐(0) 编辑
  2022年6月22日
摘要: 本文内容如下: 1、 什么是类型擦除 2、常用的 ?, T, E, K, V, N的含义 3、上界通配符 < ?extends E> 4、下界通配符 < ?super E> 5、什么是PECS原则 6、通过一个案例来理解 ?和 T 和 Object 的区别 一、什么是类型擦除? 我们说Java的泛型 阅读全文
posted @ 2022-06-22 13:53 雨点的名字 阅读(321) 评论(1) 推荐(2) 编辑
  2022年6月15日
摘要: 一、前言 什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成了包版本冲突。 依赖冲突的原因 我们在maven项目的pom中 一般会引用许许多多的dependency。例如,项目A有这样的依赖关系: A -> C -> X(1.0) B -> D -> X(2.0) X是 阅读全文
posted @ 2022-06-15 14:48 雨点的名字 阅读(513) 评论(4) 推荐(3) 编辑
  2022年6月12日
摘要: 有关监控选型之前有写过一篇文章: 监控系统选型,一文轻松搞定! 监控对象 Linux服务器 Docker Redis MySQL 数据采集 1)、prometheus: 采集数据 2)、node-exporter: 收集操作系统和硬件信息的metrics 3)、cadvisor : 收集Docker 阅读全文
posted @ 2022-06-12 23:34 雨点的名字 阅读(427) 评论(0) 推荐(0) 编辑
  2022年5月27日
摘要: 前言 所谓幂等: 多次调用方法或者接口不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致。 我们在开发中主要操作也就是CURD,其中读取操作和删除操作是天然幂等的,我们所关心的就是创建操作、更新操作。 创建操作一定是非幂等的因为要涉及到新数据的产生,而更新操作有可能幂等有可能非幂等,这个要 阅读全文
posted @ 2022-05-27 09:15 雨点的名字 阅读(761) 评论(5) 推荐(4) 编辑
  2022年5月24日
摘要: 所谓的大事务就是耗时比较长的事务。 Spring有两种方式实现事务,分别是编程式和声明式两种。 不手动开启事务,mysql 默认自动提交事务,一条语句执行完自动提交。 一、大事务产生的原因 操作的数据比较多 调用了 rpc 方法 有其他非 DB 的耗时操作 大量的锁竞争 执行了比较耗时的计算 二、大 阅读全文
posted @ 2022-05-24 21:24 雨点的名字 阅读(506) 评论(2) 推荐(3) 编辑
  2022年5月19日
摘要: 这篇文章,我将对监控体系的基础知识、原理和架构做一次系统性整理,同时还会对几款最常用的开源监控产品做下介绍,以便大家选型时参考。内容包括3部分: 必知必会的监控基础知识 主流监控系统介绍 监控系统的选型建议 一、必知必会的监控基础知识 我们可以理解监控系统就像我们古代打战的哨兵一样,哨兵的角色非常重 阅读全文
posted @ 2022-05-19 21:52 雨点的名字 阅读(213) 评论(0) 推荐(0) 编辑
  2022年5月9日
摘要: 一、一个示例回顾Future 一些业务场景我们需要使用多线程异步执行任务,加快任务执行速度。 JDK5新增了Future接口,用于描述一个异步计算的结果。虽然 Future 以及相关使用方法提供了异步执行任务的能力,但是对于结果的获取却是很不方便, 我们必须使用 **Future.get() **的 阅读全文
posted @ 2022-05-09 22:07 雨点的名字 阅读(395) 评论(0) 推荐(3) 编辑
  2022年5月6日
摘要: 对于开发的API文档,我们可以通过Swagger等工具来自动生成了。但是对于数据库表结构的文档呢,在实际开发中在开发前我们一般会先设计好表结构,大家讨论一下, 这个时候就很需要有个数据库表结构的文档,如果常规操作就是一通无脑的 CV 大法,产出一份小几十页的 Word 文档,这样不仅容易出错,而且如 阅读全文
posted @ 2022-05-06 08:26 雨点的名字 阅读(1373) 评论(0) 推荐(7) 编辑
  2022年3月30日
摘要: 前言 在我们开发过程中,出现bug是非常常见的,不会说产品一旦上线就没有bug,出现bug没关系,关键是需要能够及时发现异常。 当工程基本完成,开始部署到生产环境上,线上的工程一旦出现异常时,开发团队就需要主动感知异常并协调处理,当然人不能一天24小时去盯着线上工程, 所以就需要一种机制来自动化的对 阅读全文
posted @ 2022-03-30 20:58 雨点的名字 阅读(420) 评论(2) 推荐(1) 编辑
  2022年3月22日
摘要: 一、聊聊什么是硬编码使用缓存? 在学习Spring Cache之前,笔者经常会硬编码的方式使用缓存。 我们来举个实际中的例子,为了提升用户信息的查询效率,我们对用户信息使用了缓存,示例代码如下: @Autowire private UserMapper userMapper; @Autowire p 阅读全文
posted @ 2022-03-22 20:58 雨点的名字 阅读(753) 评论(0) 推荐(0) 编辑
  2022年3月7日
摘要: 有关Assert断言大家并不陌生,我们在做单元测试的时候,看业务事务复合预期,我们可以通过断言来校验,断言常用的方法如下: public class Assert { /** * 结果 = 预期 则正确 */ static public void assertEquals(Object expect 阅读全文
posted @ 2022-03-07 22:40 雨点的名字 阅读(722) 评论(1) 推荐(2) 编辑
  2022年2月9日
摘要: MVCC实现原理也是一道非常高频的面试题,自己在整理这篇文章的时候,感觉到网上的资料在讲这块知识点上写的五花八门,好像大家的理解并没有一致。 这里将自己所理解的做一个总结,个人会觉得这是一篇含金量挺高的一篇文章(哈哈),所以请你坚持认真的看下去,一定会对你有收获。 如果文章中哪里没有理解,或者认为我 阅读全文
posted @ 2022-02-09 21:01 雨点的名字 阅读(996) 评论(1) 推荐(3) 编辑
  2022年1月16日
摘要: 在生产环境中如果出现MySQL死锁问题该如何排查和解决呢,本文将模拟真实死锁场景进行排查,最后总结下实际开发中如何尽量避免死锁发生。 一、准备好相关数据和环境 当前自己的数据版本是8.0.22 mysql> select @@version; + + | @@version | + + | 8.0. 阅读全文
posted @ 2022-01-16 21:50 雨点的名字 阅读(2855) 评论(0) 推荐(3) 编辑
  2022年1月10日
摘要: 高可用有两个含义:一是数据尽量不丢失,二是保证服务尽可能可用。 AOF 和 RDB 数据持久化保证了数据尽量不丢失,那么多节点来保证服务尽可能提供服务。 一般在实际生产中,服务不会部署成单节点,主要是有三个原因. 容易出现单点故障,导致服务不可用 单节点处理所有的请求,吞吐量有限 单节点容量有限 为 阅读全文
posted @ 2022-01-10 21:04 雨点的名字 阅读(301) 评论(0) 推荐(0) 编辑