Recent Posts

未完待续

已经好久没有更新博客了。因为的确有将近一年时间停止学习了。之前断断续续会有人通过邮箱找到我,都是看了我博客而来的,令我很意外。一直以来我的想法都是这是个自说自话的地方,没假设过任何读者,所以都是一些学习笔记,也没有搞任何评论区或互动。知道我的博客原来是有人看的,让我感觉还是有必要坚持更新下去的。另一个原因是感觉程...

学习juc包 - atomic包

atomic包是juc下的其中一个包,主要是封装常用变量,方便使用者可以原子操作。

redis单机特性

最近的项目深度使用redis,需要好好调研一下。这篇文章会做些笔记

分布式系统 - fault

在分布式系统里,每时每刻都有组件出现故障。分布式系统的特点在于:build a reliable system from unreliable components。在看怎么容错之前,先看看有哪些可能出现的故障(fault)。

分布式系统 - 单机transactions

单机事务(本文会简称为事务),区分于分布式事务,可以大致这样定义:单机事务的场景里,客户端可以有多个,但提供写入操作的节点只有一个,单机就是提供写入的服务器的单机。事务是数据库提供的最强大的保证:单机事务中,最复杂的是并发问题,随时有可能出现多个client同时修改同一个记录的情况,而正是利用不同的事务的隔离级别...

分布式系统case by case - redis的分布式方案

经常有一些面试题喜欢让人设计一个分布式存储系统,其目的是面试者对分布式系统的常见知识的掌握和运用。这篇文章来讨论下这个问题,从redis的实现说起,看看一个分布式系统高可用的方案有哪些。

分布式系统 - 关于异地多活的一点笔记 - overview

异地多活(multi-datacenter)是饿厂在16年立项,17年完成的重大技术项目。众所周知,多活的技术挑战相当大,是分布式系统技术设计的高峰。实施过程几乎动员所有技术同学。有幸,作为一个业务开发,参与了后半部(实施部分)。虽然有过项目经验的同学都知道,一个项目最大的挑战和有意思的部分,都是在前期讨论的时期...

分布式系统 - replication

在看一本很棒的书,《Designing Data-Intensive Applications》。可以说是很多分布式问题的导论了。接下来会有一系列的文章结合书中内容,说说我的归纳、总结和一些思考。由于是一本关于分布式数据库的书,所以里面很多例子会以数据库领域遇到的问题作为引子,但是大部分分布式系统要解决的问题都是...

分布式系统case by case - google file system(GFS)

google file system是15年前(2003)google发布的一个分布式文件系统论文,这篇论文可以说是分布式系统的入门经典。google应该是全球最早遇到如此复杂的分布式技术难题的公司。gfs是其中一个难题的解决方案:超大规模的,可靠的文件存储。看gfs的这篇论文,可以看到google的牛逼的大神们...

写可维护的业务系统(代码)

最近有机会一个人负责、主导一个项目。其中一项工作,就是需要从零开始写代码做一个code project。在整个过程中,我一直在学习和思考怎么写可维护的代码,写一个可以 一直维护,一直迭代,却把复杂度控制在一定的范围之内 的项目。