System Design: 读书心得4

正在写~

Problem: Need to increase Messenger’s performance as data and number of users grows. Introduce “Iris” messenger engine.
Client

  • Old: pull-based. the app first received a lightweight push notification indicating new data was available. This triggered the app to send the server a complicated HTTPS query and receive a very large JSON response with the updated conversation view.

  • New: push-based snapshot + delta model. In this model, the client retrieves an
    initial snapshot of their messages (typically the only HTTPS pull ever made)
    and then subscribes to delta updates, which are immediately pushed to the app
    through MQTT (a low-power, low-bandwidth protocol) as messages are \
    received. When the client is pushed an update, it simply applies them to its local
    copy of the snapshot. As a result, without ever making an HTTPS request, the
    app can quickly display an up-to-date view.
    - Server:

         - Old: Messaging data has traditionally been stored on spinning disks. In the 
    

pull-based model, we’d write to disk before sending a trigger to Messenger to
read from disk. Thus, this giant storage tier would serve real-time message data
as well as the full conversation history. One large storage tier doesn't scale well
to synchronize recent messages to the app in real time. So in order to support
this new, faster sync protocol and maintain consistency between the Messenger
app and long-term storage, we need to be able to stream the same sequence of
updates in real time to Messenger and to the storage tier in parallel on a per user
basis.


<<:  [01] 所以是哪个 P ? 前言

>>:  NetSuite Glossary

如何用笔电连线到HPE服务器

请问各位电脑高手 我现在把我的笔电跟HPE服务器的IP网段都已经设定成一样的 但是开启网页输入还是无...

[Day13] 文本/词表示方式(四)-共现矩阵与降维

ㄧ. 前言 前面有说明如何运用TFIDF与BOW来表示一个句子/文本的表示方式,但若以BOW这样的方...

从零开始的8-bit迷宫探险【Level 6】Swift 基础语法 (四)

今日目标 认识类别 (class) 及继承 认识协定 (protocol) 认识结构 (struct...

客户抱怨 v.s. 客户开发

自从到了美国之後,原本预期要来好好开发海外市场的,果然事情没有这麽顺利,既有客户所遇到的 Bug 跟...

【Day10】[资料结构]-杂凑表Hash Table-实作

杂凑表(Hash Table)建立的方法 hash: 杂凑函式 add: 新增资料 search: ...