Alban的小窝 分享生活、技术、美食

分布式一致性系列:Paxos 算法—教会协议

分布式共识算法是保证分布式一致性的基础,本文主要以简化类比的方式阐述了Paxos算法中的单法令教会会议(The Single-decree SYNOD)的算法。 引用自:原文链接 一、分布式共识算法 分布式共识算法是保证分布式一致性的基础。我们在进行微服务开发的时候,都会尽量让自己的服务无状态(st

Alban 发布于 2025-10-23

分布式一致性系列:Paxos算法—议会协议

引用自:原文链接 系列的前一篇文章中,阐述了 Paxos 的单法令教会协议,也在文章的总结中提到了教会协议只是作为 Paxos 最核心的共识算法,并不具备实际的单独应用场景。本篇文章接着教会协议,一步一步地阐述如何基于它来推导出实用的多法令议会协议。 一、抢车位 通过 Paxos 的教会协议,顺利地

Alban 发布于 2025-10-23

怎样花两年时间去面试一个人

怎样花两年时间去面试一个人-刘未鹏 原文链接:链接 Joel Spolsky曾经感叹:招聘难,难于上青天(此处笔者稍加演绎:))。他有两个辛辣但不乏洞察力的断言:真正的牛人也许一辈子就投大概4次简历,这些家伙一毕业就被好公司抢走了,并且他们的雇主会给他们不赖的待遇,所以他们也不想挪窝。(刚刚去世的D

Alban 发布于 2025-07-15

如何看懂一般公司的财务报表

如何看懂一般公司的财务报表 财务报表一般是用来描述一家企业所进行的经济活动的。企业经济活动一般如下: 经营活动:生产产品->销售产品 投资活动: 投资生产所需的物料、人工等,使生产经营运转并扩大,并且在公司扩大后,可能会投资其他相关公司等 筹资活动:公司的生产、经营或投资过程中,如果缺钱去找银行,别

Alban 发布于 2025-07-13

从Caffeine使用到原理初探

从Caffeine使用到原理初探 简介 Caffeine是一个基于Java8开发的提供了近乎最佳命中率的高性能的缓存库。 缓存和ConcurrentMap有点相似,但还是有所区别。最根本的区别是Concurren

Alban 发布于 2025-07-13

记一次Java笔试题

背景 最近在找工作,然后正好聊到一个合适的岗位。按照流程,在面试的最后,需要做一道笔试题。而恰恰是这道笔试题,带给了之前的普通算法面试所没有带给我过的思考。让我重新审视自己写代码的术与道。 题目 由于我是面试Java。所以题目也是一道Java的面试题。 如下: 请使用三个线程循环打印如下字符串“ab

Alban 发布于 2025-06-25

如何用Netty写一个高性能的分布式服务框架

一、什么是 Netty? 能做什么? Netty 是一个致力于创建高性能网络应用程序的成熟的 IO 框架。 相比较与直接使用底层的 Java IO API,你不需要先成为网络专家就可以基于 Netty 去构建复杂的网络应用。 业界常见的涉及到网络通信的相关中间件大部分基于 Netty 实现网络层。

Alban 发布于 2025-06-25

Java日常反常识踩坑

前言 本文主要是日常业务开发中自身碰到过跟常识不一致的坑,问题虽然基础,但缺可能造成比较大的线上问题 本文来自作者:若渝 的内部文章

Alban 发布于 2024-07-28

如何写一份技术文档

如何写一份技术文档 常用的模板 what 什么是模板 模板看起来像是一堆场景,每个场景点开里面有一系列内容。里面的内容一般是写作的整体框架确定场景下,哪些关键内容需要在文档中输出,并提供一些推荐的表达方式,因此,我们很容易定义模板,这些东西很简单 why 为什么需要使用模板 想象这样一个场景你需要组

Alban 发布于 2024-07-23

Git原理初探

Git原理初探 大体结构回顾 下图是一张经典的 git 的常规提交流程,展示了他从本地工作空间到本地的数据库,再到远端的整个过程,可以看到其主要由工作空间、暂存区以及本地仓库组成,通过不同的git命令来推动文件在git中的状态转换 简单的工作流程 一般工作流程如下: 克隆 Git 资源作为工作目录。

Alban 发布于 2024-07-23