Kafka的日志复制机制

haifeiWu

Kafka 是一个分布式的发布-订阅消息系统。它最初是在 LinkedIn 开发的,2011年7月成为一个 Apache 项目。今天,Kafka 被 LinkedIn、 Twitter 和 Square 用于日志聚合、队列、实时监控和事件处理等应用程序。在下面的文章中,我们将讨论下 Kafka 的 replication 设计。

JavaKafka阅读全文

从20到21

haifeiWu

这一年过得不容易,记个流水账吧~

总结阅读全文

go 并发编程

haifeiWu
在公司的一次简单的小分享~

go阅读全文

【译】了解Linux CPU负载-您何时应该担心?

haifeiWu
看到一篇关于 load overage 的文章,觉得很有趣,先机翻下来~

Java阅读全文

Zookeeper 与分布式锁

haifeiWu

上篇文章中讨论了基于 Redis 的单机分布式锁与集群分布式锁的方案,在数据一致性要求不是很高的情况下,Redis 实现的分布式锁可以满足我们的要求。最近在拜读了 zookeeper 的论文之后,对于 zookeeper 实现的分布式锁,也是有必要了解一下的。

Go阅读全文

基于Redis的分布式锁到底安全吗?

haifeiWu
分布式锁的实现 Redlock 算法安全吗?

阅读全文

【译】Raft 学生指南

haifeiWu
在过去的几个月中,我一直担任MIT的 [6.824 分布式系统课程](https://pdos.csail.mit.edu/6.824/)的助教。 传统上,该班级有许多基于 Paxos 共识算法的实验,但是今年,我们决定转向 [Raft](https://raft.github.io/)。 Raft 的设计更易于理解,我们希望这种改变可以使学生的学习更轻松。

Raft阅读全文

ThreadPoolExecutor 的简单梳理

haifeiWu
前两天在一个技术交流群里,看到群友在讨论关于 `Java` 线程池的使用,以及线程池的几个参数如何设置的问题,本着脑子会忘的原则,记录下自己对线程池的理解~

Java阅读全文

MapReduce 的简单实现

haifeiWu
最近有幸拜读 Google 分布式的三大论文,本着好记性不如烂笔头的原则,谈谈楼主对分布式系统开发的一点小小的心得~

Java阅读全文

使用 Map 实现策略模式

haifeiWu
上篇文章在谈到优化代码的时候,有一部分涉及到了使用策略模式优化我们的代码,本篇文章将围绕策略模式谈谈自己的思考~

阅读全文

使用 Go 优化我们的接口

haifeiWu
标题起的是有点大,不过还好本片文章主要也是使用 Go 来优化 HTTP 服务的,也算打个擦边球吧~

阅读全文

如何使用 Redis 实现分布式锁

haifeiWu
锁是我们在设计和实现大多数系统时绕不过的话题。一旦有竞争条件出现,在没有保护的操作的前提下,可能会出现不可预知的问题。

Java阅读全文

Kafka Consumer 的 Rebalance 机制

haifeiWu
上周参加了 Kafka Meetup 北京站的技术分享,本文简单介绍下 Kafka Consumer 的 Rebalance 机制以及其新版本中的优化策略~

Java阅读全文

实时数据并发写入 Redis 优化

haifeiWu
对于并发请求如何在不强制加锁的情况下快速更新呢?这里有热腾腾的线上实践……

阅读全文

Redis 与 Lua 使用中的小问题

haifeiWu
在 Redis 里执行 `get` 或 `hget` 不存在的 `key` 或 `field` 时返回值在终端显式的是 `(nil)`,对于这样的问题,在 Lua 脚本中如何判空呢?

Redis阅读全文

Git 命令

ChanghuiN
熟练使用工具决定工作效率,Git 是工作中常见的分布式版本控制系统。本篇文章总结一些常用的命令以及原理。

工具阅读全文

二分查找算法细节详解

haifeiWu
我相信对很多读者朋友来说,编写二分查找的算法代码属于玄学编程,虽然看起来很简单,就是会出错,要么会漏个等号,要么少加个 1。

Java阅读全文

实现自己的 RPC 框架(二)

haifeiWu
书接上回,前段时间自己搞了个 RPC 的轮子,不过相对来说比较简单,最近在原来的基础上加以改造,使用 Zookeeper 实现了 provider 自动寻址以及消费者的简单负载均衡。

Java阅读全文

lang3 的 split 方法误用

haifeiWu
apache 的 lang3 是我们开发常用到的三方工具包,然而对这个包不甚了解的话,会产生莫名其秒的 bug ,在这里做下记录。

Java阅读全文

[译] 为什么String在Java中是不可变的

haifeiWu
String 在 Java 中是不可变的。 不可变类只是一个无法修改其实例的类。 创建实例时,将初始化实例中的所有信息,并且无法修改信息。

Java阅读全文