文档介绍:基于大数据分析策略编排
设计与实现
2019年7月
基于大数据分析策略编排设计与实现
1
目录
摘要3
第二章相关技术概述5
Tair存储弓[擎5
Tair的负载均衡算法6
Tair特点7
Tair发展现状
Tair存储引擎
Tair是由阿里巴巴集团下属淘宝体系自行研发的一套分布式的key/value分布式存储引擎。Tair有两种使用方式:持久化方式和非持久化方式。用非持久化的方式使用Tair时,Tair可以理解成为一个支持分布式缓存。用持久化的方式使用Tair时,Tair会将数据存放在磁盘中。为了解决解决磁盘损坏的可能以致数据丢失的问题,Tair支持用户自行配置数据的备份数目。与此同时,为了保证服务的稳定性,Tair将自动将一份数据的不同的备份复制到不同的主机上。若主机发生异常,无法正常地提供稳定服务时,其他的主机上的备份则会继续提供服务。
Tair是一个分布式结构的系统,,它主要包含一个主节点,
称为中心控制节点和一系列的服务的节点。这个中心控制的节点,叫做configserver。相对应的,服务节点称为dataserver。在Tair中,中心控制节点
基于大数据分析策略编排设计与实现
4
configserver承担了管理所有的服务节点dataserver以及维护dataserver的状态信息的职责。在系统中,dataserver对外提供各种不同的数据服务,并且同时将自身的状态以心跳的形式汇报给中心控制节点configserver。在系统中,configserver是一个单独的节点,是控制点。在实际的应用中,主要采用的是一主一备的模式来确保系统的可靠性。configserver管理的dataserver在系统中都有同样的地位。
,在Tair的实现方法中,采用的是一致性哈希算法,即对于系统中所有的数据key,都会均分到N个桶中。在Tair中,桶是负载均衡和在数据迁移中所用的基本单位。在Tair的实际运行中,中心控制节点configserver会根据特定的策略将数据的每个桶中分别指派到不同的dataserver上。因为Tair使用了一致性哈希算法,数据是按照key做哈希算法进行排列的,因而在这种情况下可以认为在每个数据单元桶内的数据基本上是保持平衡的。如上,通过数据均衡的算法,确保了不同的数据桶的分布的均衡性,从而也就保证了系统内数据的分布的均衡。
基于大数据分析策略编排设计与实现
5
Cli
nt
n
□at耳?'
ClifnL
ConfigServer
DaL£5mrver
州分配表
"1im:】L
Tair特点
Tair在分布式集群支持方式上,可以有多重的集群结构,如:单一机房单一集群,双机房单一集群单份,双机房单一集群多份,双机房独立集群,双机房主备集群等方式。
Tair允许应用进行跨机房数据的分布。
高可用性非常强,一般情况下小于副本数节点挂掉,不会影响到业务的正常使用。
各个服务节点之间是没有相互影响关系的,因而节点将提升性能,实际的体现则是在Tair中添加节点可以线性提升读写能力。
根据以上Tair的优点,Tair比较适合应用在以下场景中。
需要存储的数据可以使用key/value的形式进行存储。
需要存储的数据大小不是很大,比方数据大小在KB的级别。
基于大数据分析策略编排设计与实现
6
数据的更新不会太频繁。
需要比较高的访问速度。
数据量比较大,通常同时还具备比较大的增长的可能性。
Tair现在阿里巴巴集团内部被广泛使用。在很多阿里巴巴集团的产品上都得到了很好的应用,比方说用户登录淘宝页面,用户查看宝贝详情页面,淘宝交易的过程或者在查询淘宝订单时,对应的业务系统都在直接或者间接的与Tair发生着交互。
在阿里巴巴集团将Tair开源之后,很多个人,机构或者公司都选择使用。现在,凭借自身的优势,已经在一些的方面可以和redis,memcached等著名的分布式集群框架更有优势。
MVC设计模式
MVC,目前已经很广泛地应用在用户界面框架的模式。它主要包涵三个核心的模块:模型,视图以及控制器。应用软件在设计时,可以通过抽象分离的方式,对核心模块进行拆解,从而可以得到更易于扩展的用户交互界面。。
模型
在MVC中,模型表示的是数据的抽象。在Web软件系统中,模型是代表数据,这里的这些数据是由后台返回的并且是可以用来表现对象的具体属性。在MVC中,模型有以下功能:接受试图的数据的查询操作;给控制器提