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
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.
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
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.
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.
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
Just some insights on usage of Golang Pass By Value and Pass by Reference（Pointer）~
Mastering Go Second Edition 学习笔记