《大规模分布式系统架构与设计实战》第一章 概述

1.1 分布式计算,并行计算,云计算概述
1)分布式计算是研究如何把一个需要非常巨大计算能力才能解决的问题分成许多个小的部分,然后把这些小的部分分配给很多计算机进行处理,最后把结果综合起来得到最终的结果。

2)并行计算是指同时使用多种计算资源解决计算问题的过程,比如多线程。并行计算主要是相对于串行计算定义的。

3)云计算是分布式技术+服务化技术+资源隔离+管理技术(虚拟化),虚拟化和服务化是云计算的表现形式。
IBM:把大量的高度虚拟化的资源管理起来,组成一个资源池,用来提供统一的服务。
Google:以开放的标准和服务为基础,以互联网为中心,提供安全,快速,便捷的数据存储和网络计算服务。
3.1)虚拟化技术:资源虚拟化,统一分配监测资源,向资源池添加资源。
常见的技术如VMWare(完全模拟硬件的重量级虚拟化产品),Solaris的Container和Linux的LXC(软件方式轻量级虚拟化)
运维管理工具如VMWare的vSphere,vCloud和Linux的VirtManager
3.2)服务思想:
软件即服务SAAS(Software-as-a-Service):应用软件安装到厂商或者服务提供商那里,用户可以通过网络使用这些软件。
平台即服务PAAS(Platform-as-a-Service):提供开发工具和组件,可以直接在开发平台上开发应用,无需购买。
基础设施作为服务器IAAS(Infrastructure-as-a-Service):提供数据中心,硬件和软件基础设施资源。比如服务器,操作系统,磁盘存储,数据库等。

1.2 分布式产品Hadoop,ZooKeeper,HBase概述
1) Hadoop
来源于Doug Cutting(Nutch和Lucene的作者,Apache软件基金会的主席)儿子的一个宠物名,最初HDFS文件系统发展为Hadoop+ZooKeeper+Hive+Pig+HBase生态体系
1.1) HDFS是一个可扩缩的,容错的,可以在廉价机器上运行的分布式文件系统,按行存储,按照64MB进行文件拆分。
          有一个NameNode +多个DataNode
1.2)   Map/Reduce框架,进行按行的并行分析和查询,计算。

2)ZooKeeper
1.1)大型的分布式应用中需要调度器,控制器和协同器管理任务进程的资源分配和任务调度。当前业界分布式协同系统的实现主要有Chubby和ZooKeeper(前者的开源实现)。
Zookeeper在Hadoop生态圈中作为协同系统,主要提供协同服务,比如分布式锁,统一命名,配置维护等。
Zookeeper配置中心类似于文件系统,维持着树形结构,节点称为znode(临时,持久,顺序等),存储有1MB的限制,采用watch机制可以观察znode的变化。
采用Paxos算法实现领导者的选取,解决集群宕机一致性和协同保证。

1.2)工作过程
Zookeeper集群启动后,会在工作前选出一个Leader提供协同服务。如果Leader死掉,则其他的ZookeeperServer会感知并自动选出新的Leader。
ZooKeeper客户端可以watch某一个znode,当znode发生变化时会触发watch通知监控的客户端。

3)HBase
HBase是Google Bigtable的开源实现,是面向键值的存储数据库。利用HDFS作为文件存储系统, MapReduce来处理海量数据,利用Zookeeper作为协同服务。  
472309f790529822790b3fa4d7ca7bcb0a46d498.jpg
3.1)Client包括访问HBase的接口,维护cache加快访问
3.2)ZooKeeper保证存在唯一的Master,存储所有的Region的寻址入口
3.3)Master为RegionServer分配Region,负责RegionServer间的负载均衡,GFS上的垃圾回收,Schema的更新请求。
3.4)RegionServer 维护Master分配的Region,处理对Region的IO请求。切分运行时变的过大的Region。


1.3 Fourinone的产生背景
针对淘宝的秒杀业务无法应对秒杀器的作弊而生。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值