美文网首页
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

    搭建大规模可扩展系统 1.如何检测一台机器是否宕机? CAP理论:一致性,对于一些操作,每一个客户端有同样的vie...

  • GeekBand C++ Week1 Notes

    GeekBand C++ Week1 Notes A.OOP-面向对象编程 1基础:C语言 -变量variable...

  • GeekBand C++ Week7 Notes

    Week7 Notes 容器Containers Stack 也是一个线性容器,是一种先进后出FILO的数据结构,...

  • GeekBand C++ Week8 notes

    Week8 Notes 变易算法: copy:对象拷贝 templateinlineOutIt copy(InIt...

  • GeekBand C++ Week9 Notes

    C++设计模式 为了理解松耦合设计思想,掌握面向对象设计原则 什么是设计模式? 是一种解决方案的核心,可以避免重复...

  • GeekBand C++ Week10 Notes

    工厂方法:factory method 其实是当我们在类里面要实例化一个类的时候,有可能有多种情况出现,需要创建的...

  • GeekBand C++ Week6 Notes

    STL和泛型编程 Week6 Notes 1.模板概念和模板函数 C++模板简介 概观 为什么会有模板这个概念 S...

  • GeekBand C++ Week12 Notes

    系统设计与实践 系统设计介绍 短URL设计 设计一个系统把用户提供的URL转换为短的URL,访问的时候要跳回到原始...

  • GeekBand C++ Week11 Notes

    Week11 Notes “对象性能模式” 单间模式 面向对象很好地解决了抽象的问题,但是不可避免要付出一定的代价...

  • GeekBand C++ Week14 Notes

    海量数据问题的处理方法: 1.hash map 就是把任意长度的输入通过散列算法编程固定长度的输出。这种转换时一种...

网友评论

      本文标题:GeekBand C++ Week13 Notes

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