作为开发IM(即时通讯)的程序员,我越来越讨厌IM了
作为一个开发IM的后端程序员,我越来越开始讨厌IM这个东西。当它无处不在时,它会阻碍信息的传播。
作为一个开发IM的后端程序员,我越来越开始讨厌IM这个东西。当它无处不在时,它会阻碍信息的传播。
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.