[WIP] Introduction to the Google Bigtable

I used to share my understanding and architecture of the Google File System. Today I will share Bigtable, a revolutionary distributed database build upon GFS by Google

July 15, 2023 · 13 min · Brabalawuka

Introduction to the Google File System (GFS)

Distributed database / file system is crucial for understanding how our distributed system works. During the progression of all DB/ File systems. Google File System lays the foundation for a massive scalable system. So I would love to share this classic design and if you are interested, can go on with sharing on Bigtable / HDFS / HBASE and other more state of the art solutions.

January 5, 2023 · 18 min · Brabalawuka

Journey of an RPC call at server-- from Unix Socket to Go Handler

I used to encounter an interesting issue, the Redis call has an increase in latency after I upgrade the network library dependency of my service RPC framework. The reason was that the pollers of RPC networker library occupy too much CPU and it grabs the default Redis netpoller’s CPU schedule. However, I could barely understand what happened in the networking part of the framework. So this session I will do a rough introduction on network packages

August 4, 2022 · 28 min · Brabalawuka

[WIP] Event Based Multi-DataCenter Synchronisation in IM System

This essay is a follow up introduction on IM Architecutre. We will discuss some common consistency, avilability and partition tolerance issues we face in a multi-datacenter, distributed architecture of the IM system. We will also discuss how we tackle with thess issues in the service implementation to acieve high avaliblity and parition tolerance meanwhile achieving final consistency.

May 3, 2022 · 3 min · Brabalawuka

从一次面试旁观说起--Weighted Random Sampling算法

前两天老板面试别人我去做了旁观,我觉得他出得题太简单了。可是后来被生生的打脸了,他说:一道好的面试题一定是深入浅出的,让面试者不断发掘更优秀的解题办法,这个过程才是Engineer的能力,而不是上来一道Leetcode Hard

March 17, 2022 · 4 min · Brabalawuka

How Does Instant Messaging Work? (A Holistic IM Backend Intro)

This essay takes me one month to finish writing, drawing figures. I will start from the view of a PM to define what user’s need for a simple instant messaging service as well as the perspective of an SWE to elaborate how to implement these features (backend) in a robust and reliable way.

January 27, 2022 · 15 min · Brabalawuka

Interesting Empty Struct Context Key

I found this piece of code snippet in our codebase and it turns out to be interesting and elightening on the understanding of golang struct type

October 17, 2021 · 5 min · Brabalawuka

Interesting Golang "Passed by Value" & "Passed By Pointer Value"

Just some insights on usage of Golang Pass By Value and Pass by Reference(Pointer)~

September 8, 2021 · 4 min · Brabalawuka

Mastering Go学习笔记

Mastering Go Second Edition 学习笔记

July 23, 2021 · 2 min · Brabalawuka