阿里云分布式架构云平台解决方案

技术架构

分布式架构云平台在充分分析IT技术发展趋势,遵循集中化、标准化、集成化、可靠化和可扩展化的设计原则,以价值创造为使命,以规范化、一体化、智能化的云平台为支撑,实现信息的透明共享、业务的敏捷协同、管控及时、决策科学为设计目标,选择传统成熟的J2EE、SOA、应用集成和BI信息技术和新一代的云计算、大数据、移动应用信息技术相结合的技术路线。

分布式架构云平台规划设计了集约化、云架构动态配置的企业IT基础设施;

• 共享化、集中数据存储管理的企业数据资源服务;

• 组件化、平台化、柔性集成的企业应用支撑服务;

• 标准化、服务化、整合智能的企业业务应用服务;

一站式、多终端服务的企业信息展示交互服务等技术层,每层又包括若干成熟稳定的技术组件,各技术层,自下而上,层层支撑,各技术组件松散耦合,互联互通,科学高效,易于扩展,减少了信息孤岛,增强了系统的标准化和集约化,优化了系统的用户体验,提高工作效率。
这里写图片描述
分布式架构云平台技术设计原则

• 先进性原则

在整体设计和实现上,依托云计算、大数据领域的知名开源项目(如Hadoop、Spark、OpenStack等)。由于遵循了业界广泛认可的事实标准,可以充分借力全球生态圈的资源,推动软硬件分层解耦,不断提升兼容性。兼容多种异构物理设备,避免厂商绑定。数据层面,支持多种数据源,包括结构化/非结构化类型的数据处理,数据本身、数据计算也都支持开放共享。优先采用先进成熟的技术组件,搭建稳定并且高效的大数据云计算管理平台,并在平台基础上实现大规模的数据采集与分析的相关业务应用。平台设计以满足当前的业务功能为主,兼顾考虑未来发展的趋势。

• 可靠性原则

可靠性包括整体可靠性、数据可靠性和单一设备可靠性三个层次。通过大数据云计算平台的分布式计算、存储架构,从整体系统上提高可靠性,降低系统对单设备可靠性的要求;平台设计方面保证基于hadoop和虚拟化的集群系统平台的稳定与高效,提供针对现有底层硬件设备的Hadoop和虚拟化相关技术组件的调优,以及对于整体集群的配套监控系统的搭建和集群维护与管理等相关方案;应用设计方面采用明确的应用分层架构,一方面可实现上层数据应用与底层基础数据的依赖分离,实现应用架构上的解耦;另一方面可提高上层数据的分析效率与降低运行成本。采用相关的容错技术和故障处理技术,保证数据应用的安全可靠,保证数据分析平台可用性达到使用要求。

• 安全保密性

采用统一的用户认证,统一的用户、权限管理和控制、密码控制等多种安全和保密措施。为保证信息的安全性,对内部网上的信息建立符合安全要求的防火墙、入侵检测、数字证书、防病毒、数据加密技术等,能够严格有效地防止外来非法用户入侵,能够避免遭受网络攻击,防止失密情况的发生,防止非法侵入带来的损失。

• 可扩展性

应用开发平台采用模块化建设和扩展模式。支持小规模起步,线性扩展,以满足不同场景,不同投资计划和规模的要求;随着数据规模的扩大、应用的完善,现在数据平台能够在不影响当前用户正常使用的情况下,灵活、方便地进行集群扩容。

• 开放性

云计算平台是在成熟落地的方案上完全自主研发,主要应用开源技术。

分布式关键技术

这里写图片描述

• 微服务

将系统功能划分为最小服务单元,完成单一功能,每个服务独立部署,服务间通过互相调用形成完整业务逻辑。主要特点:

-高内聚、低耦合

-开闭原则

-高效率

• 分布式事务

通过消息机制和分布式锁实现分布式事务,在微服务架构中保证业务逻辑的完整性。主要特点:

-消息队列

-原子操作

-回滚机制

• 跨机器调用

将任务分配在更多的节点上去运行,跨机器的调用取代原来单个节点内、进程内的调用。主要特点:

  • 多节点化

  • 同步+异步

• 伸缩与容错

横向扩展代替纵向扩展,使得伸缩性变得更好,整体容错性大大提升。主要特点:

  • 一致性哈希

  • 多副本

平台关键组件

这里写图片描述
• 企业服务总线

采用Dubbo+Zookeeper技术作为企业服务总线,对所有微服务进行管理,服务总线具有以下特点:
- 自动发现和注册服务,即插即用。
- 可为微服务提供负载均衡策略,需要其他负载均衡软件。
- 统计与监控服务调用情况并记录响应时间。为程序调优及扩展提供统计数据。

• 消息队列

平台的消息队列采用Kafka技术,Kafka是高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。主要用于:
- 服务之间的消息通讯,实现完整的业务逻辑。
- 提供大并发业务的队列服务,避免大并发下服务崩溃问题。

• 分布式文件系统

平台采用HDFS和FastDFS的分布式文件系统。
HDFS主要解决超大文件的存储(如日志文件、视频文件等)及HBase等大数据存储。主要分为NameNode和DataNode,NameNode存储文件的META信息,DataNode存储数据块。客户端调用时从Name节点读取到文件的多个数据块信息,从多台服务器上获取后合并为一个文件。FastDFS是轻量级的分布式文件解决方案,主要解决存储海量小文件,如上传图片、上传文件、资源文件等等海量的小文件,这些文件不适合HDFS存储,所以采用FastDFS存储。
• 云服务器IAAS
平台采用OpenStack系列技术,支持Xen/KVM/Hyper-V/ESX等虚拟化技术。为分布式和大数据提供弹性计算服务。
这里写图片描述
这里写图片描述