分布式技术阐述与展望

2018-01-02 11:55孙艳华
科学与财富 2018年33期
关键词:物联网分布式大数据

摘 要:伴随互联网的飞速发展,Web 信息迅速膨胀,单机系统远不能满足大规模数据的信息处理需求。为此,以 Hadoop 为代表的分布式技术得到迅速发展,本文主要介绍了分布式概念,分布式技术的特点以及分布式的常用技术。

关键词:分布式;大数据;分布式常用技术;物联网

一、概念

分布式技术作为一种基于网络的计算机处理技术,与集中式相对应。分布式系统的核心理念是让多台服务器协同工作,完成单台服务器无法处理的任务,尤其是高并发或者大数据量的任务。分布式系统由独立的服务器通过网络松散耦合组成的。每个服务器都是一台独立的PC机,服务器之间通过内部网络连接,内部网络速度一般比较快。因为分布式集群里的服务器是通过内部网络松散耦合,各节点之间的通讯有一定的网络开销,因此分布式系统在设计上尽可能减少节点间通讯。此外,因为网络传输瓶颈,单个节点的性能高低对分布式系统整体性能影响不大。比如,对分布式应用来说,采用不同编程语言开发带来的单个应用服务的性能差异,跟网络开销比起来都可以忽略不计。因此,分布式系统每个节点一般不采用高性能的服务器,而是性能相对一般的普通PC服务器。提升分布式系统的整体性能是要通过横向扩展(增加更多的服务器),而不是纵向扩展(提升每个节点的服务器性能)。

二、分布式技术特点

分布式系统最大的特点是可扩展性,它能够适应需求变化而扩展。其主要是横向扩展性。企业级应用需求经常随时间而不断变化,这也对企业级应用平台提出了很高的要求。企业级应用平台必须要能适应需求的变化,即具有可扩展性。比如移动互联网2C应用,随着互联网企业的业务规模不断增大,业务变得越来越复杂,并发用户请求越来越多,要处理的数据也越来越多,这个时候企业级应用平台必须能够适应这些变化,支持高并发访问和海量数据处理。分布式系统有良好的可扩展性,可以通过增加服务器数量来增强分布式系统整体的处理能力,以应对企业的业务增长带来的计算需求。

分布式系统对服务器硬件要求很低。分布式系统对服务器硬件可靠性不做要求,允许服务器硬件发生故障,硬件的故障由软件来容错。所以分布式系统的高可靠性是由软件来保证。对服务器的性能不做要求,不要求使用高频CPU、大容量内存、高性能存储等等。因为分布式系统的性能瓶颈在于节点间通讯带来的网络开销,单台服务器硬件性能再好,也要等待网络IO。

分布式系统不允许单点失效。单点失效是指,某个应用服务只有一份实例运行在某一台服务器上,这台服务器一旦挂掉,那么这个应用服务必然也受影响而挂掉,导致整个服务不可用。因为分布式系统的服务器都是廉价的PC服务器,硬件不能保证100%可靠,所以分布式系统默认每台服务器随时都可能发生故障挂掉。同时分布式系统必须要提供高可靠服务,不允许出现单点失效,因此分布式系统里运行的每个应用服务都有多个运行实例跑在多个节点上,每个数据点都有多个备份存在不同的节点上。这样一来,多个节点同时发生故障,导致某个应用服务的所有实例都挂掉、或某个数据点的多个备份都不可读的概率大大降低,进而有效防止单点失效。

分布式系统尽可能减少节点间通讯开销。分布式系统的整体性能瓶颈在于内部网络开销。目前网络传输的速度还赶不上CPU读取内存或硬盘的速度,所以减少网络通讯开销,让CPU尽可能处理内存的数据或本地硬盘的数据,能显著提高分布式系统的性能。典型的例子就是Hadoop MapReduce,把计算任务分配到要处理的数据所在的节点上运行,从而避免在网络上传输数据

三、分布式常用技术

3.1分布式系统的架构体系

分布式结构是相对于集中式结构而言的,整个应用系统的执行是分成多个不同的部分并且执行在不同的机器之中。分布式架构主要有:基于对象的体系机构、面向服务的架构(SOA)、REST风格的架构、微服务架构(MSA)、容器技术、Serverless架构。

3.2.分布式消息服务

分布式消息服务是一项基于分布式集群技术的消息中间件服务,具有高可靠性、高并发、低延迟、海量消息堆积的能力特点,提供有效的安全防护、完善的监控与审计、报警机制,为分布式系统提供灵活可靠的异步通信机制。分布式消息服务主要有: Apache ActiveMQ、RabbitMQ、RocketMQ、Apache Kafka。

3.3分布式计算

分布式计算( Distributed computing )是一种把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,在上传运算结果后,将结果统一合并得出数据结论的科学。分布式计算技术主要有: MapReduce、Apache Hadoop、Apache Spark、Apache Mesos。

3.4分布式存储

分布式存储是一种数据存储技术,通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。分布式存储技术主要有: Bigtable、Apache HBase、Apache Cassandra、Memcached、Redis、MongoDB。

3.5分布式监控主要技术有:Nagios、Zabbix、Consul、Zookeeper。

3.6分布式的版本控制

分布式的版本控制就是每个人都可以创建一个独立的代码仓库用于管理,各种版本控制的操作都可以在本地完成。每个人修改的代码都可以推送合并到另外一个代码仓库中。主要的分布式版本控制技术有:Bazaar, Mercurial, Git。

参考文献:

[1]刘罡.云计算关键技术及其应用[J].信息与电脑(理论版),2016(18):68-69.

[2]昝斌.构建大数据云计算平台分布式技术初探[J].电子科学技术,2017,04(03):55-57.

[3]涂苏娟. 分布式架構设计[D].南昌大学,2017.

[4]温苑花.分布式技术与数据库应用于计算机技术领域研究[J].信息系统工程,2018(01):28.

[5]邓灵,陈亮,叶仲和.分布式技术及其应用概述[J].计算机时代,2004(06):6-8.

[6]白翠琴;王建;李旭伟.存储虚拟化技术的研究与比较 [J].计算机与信息技术,2008(7).

[7] Eric A. Brewer,Towards Robust Distributed Systems. (Invited Talk) In the Proc. of 19th ACM Conference on Principles of Distributed Computing (PODC). Portland, OR, July 2000.

基金项目:项目 2017年国家级大学生创新创业训练计划项目:面向车辆数据的分布式实时存储系统的设计与研究(编号: 201713324080)

作者简介:

孙艳华(1989.10-), 女 ,山东聊城人,硕士,讲师,研究方向大数据分布式处理与计算.

猜你喜欢
物联网分布式大数据
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
基于高职院校物联网技术应用人才培养的思考分析
基于大数据背景下的智慧城市建设研究
中国或成“物联网”领军者
基于DDS的分布式三维协同仿真研究
西门子 分布式I/O Simatic ET 200AL