Mongo高性能揭秘之ObjectId解密
herman 4年前 (2021-06-14) 2665浏览
当你有空闲时间的时候,看看 Redis、Mongo 等系统的设计,收获会颇丰。 我在前面的一章讲解了,MongoDB 中 ObjectId 的生成原理。Mongo 中的 ObjectId 设计的很精妙,长度比雪花算法还长,还能不完全依赖于时钟...
herman 4年前 (2021-06-14) 2665浏览
当你有空闲时间的时候,看看 Redis、Mongo 等系统的设计,收获会颇丰。 我在前面的一章讲解了,MongoDB 中 ObjectId 的生成原理。Mongo 中的 ObjectId 设计的很精妙,长度比雪花算法还长,还能不完全依赖于时钟...
herman 4年前 (2021-06-12) 2061浏览
想写这篇文章好久了,一直抽不出时间。这两天端午节放假,我和娃都泡在图书馆,在他看书的空闲期,我拿出电脑写下了本文。 我们都知道,在分布式系统中,分布式 ID 有很多特殊的要求,其中之二就是要求各个 ID 必须全局唯一,且 ID 能够趋...
herman 4年前 (2021-06-10) 2069浏览
想不到,synchronized + @Transactional 造成的重大线程安全问题 昨天,微信群里一位小伙伴遇到了一个 synchronized + @Transactional 事务造成端午礼品分配不均的问题,最终导致数据不一致。今...
herman 4年前 (2021-05-30) 1587浏览
今年以来,我面试过很多候选人。其中也有不少人背过面试题,但是经过我的这套面试题套餐,基本上没啥人能通过。 在 Java 面试中,HashMap 基本必问,只是问法各有不同而已。HashMap 有非常多的知识点,学好它对整个编程思想有非常大的帮...
herman 4年前 (2021-05-29) 3159浏览
ClickHouse到底牛逼在哪里?为什么比MySQL快831倍! 这两年 ClickHouse 非常的火,尤其是在大数据领域。 刚好这两天也有群友在群里说起 ClickHouse,这款来自俄罗斯 Yandex 的开源数据库产品性能屌爆...
herman 4年前 (2021-05-29) 4127浏览
微服务现在是面试者简历上必会出现的词语,而专为解决复杂业务而生的 DDD 也被越来越多的人认可。但是 DDD 一直都缺乏优秀的实践者,我也看了很多 DDD 相关的资料,本文列举一些 DDD 领域类图,供大家参考! 领域类图(领域模型/概念类图...
herman 4年前 (2021-05-26) 3787浏览
简介 关于DDD的一系列文章,希望能继续在总结前人的基础上发扬光大DDD的思想,但是通过一套我认为合理的代码结构、框架和约束,来降低DDD的实践门槛,提升代码质量、可测试性、安全性、健壮性。 导读 对于一个架构师来说,在软件开发中...
herman 4年前 (2021-05-20) 3627浏览
前段时间五一放假,有网友出钱 2000,让我帮忙做一个 Java 学生宿舍管理系统。其实我前面已经分享了一个基于 SSM 实现的学生宿舍管理系统,可这位网友还未学过 SSM 框架,因此我又改了一个基于 Servlet + MySQL 实现的学生宿舍...
herman 4年前 (2021-05-19) 2653浏览
面试官:说说 Linux 上如何切割大 log 日志文件 最近业务服务器上产生了一个 11.2G 的 log 大文件,有开发想看历史日志,辛辛苦苦的下载了一晚上,把日志文件下载到本地,然后很悲催的是什么样的文本编辑器都打不开。早上晨会了解到有...
herman 4年前 (2021-05-17) 2075浏览
今天有同事找我解决问题,我拉下代码一看,发现新的微服务项目没有添加忽略规则 .gitignore 配置文件。 一看就不专业,于是我就加上了 .gitignore。 没过一会,同事又来找我了。涛哥,刚才添加的 .gitignore 为什么...
herman 4年前 (2021-05-08) 2183浏览
最近两年很忙,没多余时间写文章!之前的几年,我还写过不少,其中有很多系列是从根上理解来展开的,今天抽个时间,我们再来一篇《从根上理解 Redis RDB 的底层原理》。下面是正文: 我是个 redis 服务,我可能马上就要挂了! 我已经...
herman 4年前 (2021-04-24) 4276浏览
最近一位网友给我发了一个红包,请教我“电脑 Ctrl + C 和 Ctrl + V 无法使用了”,让我帮忙修复! 说实话,我个人使用电脑这么多年,还存在没有遇到过这类问题! 但我本身是一个程序员,多年的程序员思维告诉我,遇到事情不能放弃...
herman 4年前 (2021-04-24) 2572浏览
这篇文章想了很久,没想到合适的标题。 另外本文讲的不是高深莫测的技术,而是在文件上传下载过程中可能会忽视的编码细节导致的程序 bug。 大型复杂的程序或分布式系统可能都存在一个专门的服务来提供文件的上传和下载,而一个 to B 的产品,...
herman 4年前 (2021-04-11) 3314浏览
mybatis-plus还可以这样分表 为什么要分表 Mysql是当前互联网系统中使用非常广泛的关系数据库,具有ACID的特性。 但是mysql的单表性能会受到表中数据量的限制,主要原因是B+树索引过大导致查询时索引无法全部加载到...
herman 4年前 (2021-04-07) 5121浏览
2021 开年“低代码”成了热门话题,各大云厂商都在加码。作为普通企业的我们是否有也可以深度定制一套自己的“低代码”平台呢? 云厂商的低代码平台 阿里推出了易搭,通过简单的拖拽、配置,即可完成业务应用的搭建。旨在为广大中小企业提供一套低...