zoukankan      html  css  js  c++  java
  • 《数据密集型应用系统设计》读书笔记-ch1可靠、可扩展与可维护的应用系统

    我们以Twitter为例,使用其2012年11月发布的数据。Twitter的两个典型业务操作是:

    - 发布tweet消息: 用户可以快速推送新消息到所有的关注者,平均大约4.6k request/sec, 峰值约 12k requests/sec。

    - 主页时间线(Home timeline)浏览: 平均300k request/sec 查看关注对象的最新消息。

    Twitter扩展性的挑战在于巨大的扇出结构:每个用户会关注很多人,也会被很多人圄粉。此时大概有两种处理方案:

    Twitter第一个版本使用方法一,但是主页时间线随负载增加表现出扩展性差,因此转而用方法二。由于发布tweet量比时间线浏览量小两个数量级,因此在发布时多做操作。

    考虑平均75个关注者和每秒4.6k的tweet,则需要每秒4.6×75 =345k qps写入缓存。但有头部用户拥有>3000万粉丝,成为瓶颈。最后这些用户单独采用方案一。实践证明这种混合方法能提供持续的良好表现。 

  • 相关阅读:
    python中kafka生产者和消费者实现
    bzip2压缩
    gzip压缩
    对目录、文件操作需要的权限
    Linux文件查找
    Linux文件种类与扩展名
    centos 文件权限与目录权限
    centos关机命令
    私有方法私有属性继承问题
    python3 中类的__del__方法
  • 原文地址:https://www.cnblogs.com/yaoyaohust/p/10730557.html
Copyright © 2011-2022 走看看