美文网首页
GeekBand C++ Week13 Notes

GeekBand C++ Week13 Notes

作者: 古来征战几人回 | 来源:发表于2016-08-09 09:31 被阅读0次

    搭建大规模可扩展系统

    1.如何检测一台机器是否宕机?

    CAP理论:一致性,对于一些操作,每一个客户端有同样的view,可用性,指所有客户端可以读和写,分区承载,系统通过物理网络分区可以工作。

    三个中只能有两个。

    现实中CAP的例子:

    亚马逊Dynamo,中采取了availability超过consistency,新的值覆盖旧的值,最后的数据有一致性(AP)

    谷歌的Big Table采取CP,Hbase

    两级的B+树,TB级别以上的应用,为了保证强一致性,一个数据同一时刻只能被一台机子服务,单位工作节点宕机的时候,操作的日志来加在,工作表的索引,并做到很快的恢复。

    数据库系统

    关系型数据库

    执行时异常

    需要在数据库恢复通信

    ACIDvsBASE

    ACID在单机环境下有很高的要求,但在分布式环境下只能满足很基本的要求。

    BASE功能上的划分,垂直和水平的切分,sharding

    应用拆分

    scale-up和scale-out,up是增大容量,out是增加数量

    数据库拆分

    horizontal scaling(sharding)

    functional scaling(scale out)

    stateless

    session vs cookie

    request->后会返回一个cookie,下次访问的时候会带着cookie过来

    异步通信

    RPC

    有效地利用cache

    一致性和复制,如何保证多服务器的时候保证读到的数据是一致的,

    可以读的时候读多份,多的值为真

    也可以写在日志里,

    一致性介绍:

    强一致性,弱一致性,最终一致性

    一致性哈希

    分布式的哈希表

    流量增加很大,服务器的压力也很大,之前的读写机制很不给力

    现在做一个cache的服务机制,每一次mem cache的请求随机发送到三台服务器中的一台,

    问题是同一份数据存在不同的服务器上,所以不能随机发送

    一致性hash算法

    把整个hash值得空间当成虚拟的圆环

    无符号的整型

    虚拟节点

    NoSql database

    Cassandra- big table的一个开源的版本

    大数据系统:

    大数据基础hadoop

    mapreduce, bigtable, gfs

    spark

    海量数据处理的技巧

    聊天系统的设计

    估算

    应用

    公司

    Cloudera, Hortonworks, MapR,

    Hadoop的概念产生

    Google的三辆马车

    Mapreduce

    The google file system

    Big table

    GFS, google file system

    最主要的应用有两个,map reduce big table

    B+树,把二叉树压得扁平化,压成n个节点,并排序,达到索引的高效性

    实时性不好,机房之间通过日志来恢复

    HDFS

    Design

    Master, chunkservers and clients

    Fault tolerance

    Append-only

    Optimized for continuous reading

    相关文章

      网友评论

          本文标题:GeekBand C++ Week13 Notes

          本文链接:https://www.haomeiwen.com/subject/fzzrsttx.html