《大数据时代的IT架构设计》试读
《大数据时代的IT架构设计》从实际案例角度分析了各个领域(互联网、金融、教育)架构经验,对架构设计工作来说是不可多得的好东西,能集思广益。对有架构基础的人受益匪浅,值得阅读!
第1部分主要简述了Hadoop平台应用架构,3个实际架构分析来很好的描述了Hadoop技术架构的应用。
什么是Hadoop?
一个分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。http://hadoop.apache.org/ 在此不做介绍了
Hadoop技术在电信运营商上网日志处理中的应用架构
问题:传统基于CDR营销方案可能缺失大量有效客户信息,营销不准确。
解决方式:通过hadoop实现网上日志存储,提供数据挖掘处理,以保证精确营销。
1.日志数据处理
从用户日志中分析URL,通过抓取、对比、标记等工作对网页分类,在利用模型统计相关数据。
2.技术架构方案
方案介绍:
数据源:上网日志、用户基本信息等数据。来源:数据库、文件系统等
接口层:提供统一对外访问接口,负责同外部系统数据交换。包括数据采集接口,提供外部调用接口等。如日志采集,对外访问接口(webservice)
数据层:核心层,将数据源数据通过整理(过滤、转换、校验)定义成相应的数据模型,加载到分布式存储中(HBase)
功能层:实现数据流程模块的模块化处理,负责集群访问控制、系统报警日志管理、Hadoop集群运行管理等。
资源层:对物理资源层和系统平台层提供统一管理,以提供自动化部署和弹性运维能力。如增加、减少硬件、宕机等,系统如何自动优化部署调用等。
应用层:应用功能的具体算法实现。和业务关联模块
展示层:提供应用功能处理结果的展示。如WEB、图形、Execl等
房子设计好了,就靠自己造了!
Hadoop平台在金融银行业的应用架构
金融业务数据量快速增长,关系型数据库带来巨大压力。目前应对策略:
1、增加核心系统机器性能和存储空间,提高业务数据处理能力。 问题:增加核心系统的运营维护成本
2、备份历史数据,减轻核心系统的压力;问题:大量离线存储数据,历史数据查询缓慢
解决方案:通过hadoop架构存储银行离线数据,对数据进行挖掘分析,如快速响应历史查询等。
银行业务逻辑:
hadoop架构模式同案例一中的类似:
各个模块含义同方案一,在此不累赘
优酷土豆Hadoop平台开放之路
主要讲述了开发平台搭建过程中的安全问题:身份认证、用户权限、web界面访问控制等。
1、Linux终端随意连接
2、非法应用的连接
3、用户身份冒充
4、slave节点随意添加
解决方法:
1、引入Kerberos:分Identity Store 和KDC 两部分。其中Identity Store 主要包含身份认证信息,KDC 为密钥分发服务器。新增用户、新增节点需要在Kerberos 上分配相应的身份信息。
2、用户组信息控制
将用户的组信息持久化到一个独立的关系数据库中,进行集中管理。以及相应的管理工具DPM.
3、Web UI 访问控制
通过Token及用户身份绑定,实现权限控制。
下面展示下平台安全架构图
淘宝海量文件存储实践
主要对淘宝分布式文件系统TFS的介绍;地址:http://code.taobao.org/p/tfs/src/
文章中对存储机制、平滑扩容机制、运维管理、机房容灾等都做了详细的介绍,对架构有初步了解。
TFS是一个高可用、高性能、高可扩展的分布式文件系统,基于普通的Linux 服务器构建,主要提供海量非结构化数据存储服务。
TFS是一个高可用、高性能、高可扩展的分布式文件系统,基于普通的Linux 服务器构建,主要提供海量非结构化数据存储服务。
以数据块block为单位存储和组织数据,每个block 在集群中拥有全局唯一的数据块编号block id,block中的文件拥有一个block 内唯一的文件编号file id,
blockId+fieldId=标识唯一文件
NameServer:HA 来避免NameServer单点故障。
DataServer:一台机器上部署多个DataServer进程,通过心跳管理所用dataServer
本书分享的不少架构经验,给了不少启发!当然自动动手实践也很重要!