架构风格

云计算

Google2006年率先提出“云计算”的概念。所谓“云计算”,是一种大规模的分布式模型,通过网络将抽象的可伸缩的便于管理的数据能源服务存储方式等传递给终端用户。狭义云计算是指IT基础设施的交付和使用模式,指通过网络以按照需求量的方式和易扩展的方式获得所需资源。广义云计算指服务交付和使用模式,指通过网络以按照需求量和易扩展方式获得所需服务。

目前,云计算可以认为包含3个层次的内容:基础设施即服务(IaaS平台即服务PaaS)和软件即服务(SaaS)。国内的“阿里云”与云谷公司的XenSystem,以及在国外已经非常成熟的微软、IntelIBM都是“云计算”的忠实开发者和使用者。

云计算,是大数据分析处理技术的核心原理,也是大数据分析应用的基础平台。Google内部的各种大数据处理技术和应用平台都是基于云计算,最典型的就是以分布式文件系统GFS批处理技术MapReduce分布式数据库BigTable为代表的大数据处理技术以及在此基础上产生的开源数据处理平台Hadoop

面向服务

SOA是面向服务的系统体系结构,SOA是进行系统资源整合的一种架构。根据“按需提供服务”的精神,提供通过网络访问的服务Service,以构建高度可重用的,以业务逻辑为中心的业务应用系统。符合SOA的应用系统以松耦合的方式,对外提供标准的服务调用接口。

SOA是应用开发和集成的架构模式和设计原则,提供“服务”给其它应用和服务的设计方法指敖江导思想是“软件重用”的自然进化。SOA适应系统应用集成的需求,提供了一整套指导实现模块化、封装、松耦合、重用、架构原则和模式。所以说SOA是业务应用集成和企业间业务应用集成的设计方法、规范、架构思想、风格、理念,最终目标是解决软件重用、应用集成的问题。

符合SOA架构的应用集成是通过参与集成的业务应用系统提供服务、或者调用其它应用系统的服务实现的。即参与应用集成的各方作为服务提供者或者作为服务消费者参与到服务的共享环境中。

横向扩展

基础架构是大数据首先面临的挑战,如何让基础架构能够存取更多的数据呢,传统的基础架构能否满足用户需求呢,目前来说,虽然基础架构面临着一些挑战,但是挑战并不是很大,但是随着大数据行业的发展,而且这种数据的增长将呈现爆炸式增长,就对传统的架构形成了新的挑战。

随着大数据量的逐渐增大,可以通过可以通过分布式的处理方式把应用复杂分散到分布式系统的各个节点上,而传统的数据处理将是运算能力非常强、CPU主频非常高的一台机器来处理,而不是大数据这种多个节点、多个CPU核数来处理,这代表了大数据时代发展方向从纵向扩展转向横向扩展。

横向扩展是指应用软件系统在水平方向上可以扩展。早期多对数据中心应用而言,现在更多是指云计算背景下的虚拟化、分布式的计算与存储等,具体而言是指当添加更多的机器时,应用软件系统仍然可以很好的利用这些机器的资源来提升自己的效率,从而达到很好的扩展性,性能可以线性增长。

横向扩展可以根据实际需要方便的进行容量和性能上的扩展,为业务的快速发展、业务体量的增加提供了技术和系统上的保障。

构件组装

构件组装就是采用“搭积木”的方式来生产软件。分析传统工业及计算机硬件产业成功的模式可以发现,这些工业的发展模式均是符合标准的零部件(构件)生产以及基于标准构件的产品生产(组装)。构件组装是软件工业化生产的必由之路。

构件是系统构成成分的标准形态,组装是构件演化的原则与方式,及自底向上的系统构建方法。构件组装成功运用的前提是标准化的构件与构件组装机制。面向构件组装的开发,通过长期积累形成完备的构件库,以构件组装的方式快速构建软件系统,以构件增减的方式快速响应业务需求的变化,从而使软件开发具备了“敏捷性”,使软件系统具备了“弹性”。

构件组装并非是对现有的分析、设计方法的颠覆,而是在此基础之上的继承与发展。面向对象技术基于传统的结构化技术提升了对事物的认识方法,使软件开发尽可能接近人类认识世界、解决问题的方法与过程,即使描述问题的问题空间与实现解法的解空间在结构上尽可能一致,从而直观、自然的在解空间内求解出问题空间内问题的稳定且易复用解。

相对于面向对象技术,构件组装更多的将重点放在软件生产的考虑上,即构件在软件生产中作为零件被纳入软件体系中而被复用,强调构件作为零件所需具备的特征及为实现零件组装所具备的构件之间的协调关系,认识事物的角度从个体本身上升到个体在群体中的作用。

面向对象

面向对象是专指在程序设计中采用封装、继承、多态等设计方法。面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析OOA,面向对象的设计OOD以及我们经常说的面向对象的编程实现OOP

面向对象的分析根据抽象关键的问题域来分解系统。面向对象的设计是一种提供符号设计系统的面向对象的实现过程,它用非常接近实际领域术语的方法把系统构造成“现实世界”的对象。

面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,即对象。

采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。

在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。

在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。

逻辑分层

N层架构是已被行业证实的软件架构风格,通过解决诸如可扩展性、安全性、容错性、可靠性等问题,N层架构已经成为行业事实规范。常见的三层架构就是N层架构的很好例证。


在大数据平台架构设计过程中,首先遵循“业务驱动”的设计方法,通过对平台业务的分析,结合平台技术的要求,形成业务架构,进而推演出应用架构设计和数据架构设计,再结合应用架构和数据架构的要求进行技术架构设计,从而形成大数据平台完整的架构体系,保证平台对业务的有效支撑。

其次,平台架构遵循面向云、面向服务、横向扩展、组件组装、逻辑分层、面向对象的架构风格,强调技术的实用性、先进性、通用性、可靠性、安全性等,保障本平台的可扩展性、可实施性、可维护性、开放性,实现平台能力的灵活组装和便捷扩展。

业务架构:描述业务模块、业务活动及其相互关系。对于基于组件化的信息系统而言,业务架构设计关键点是业务之间的集成需求点的提炼。

数据架构:根据业务架构描述业务所产生的数据分类、模型、存储和流转。它是信息系统架构的一部分。对于基于组件化的信息系统而言,数据架构设计的关键点是根据以集成需求点作为业务上下文建立接口数据模型。

应用架构:根据业务架构建立支撑业务所需的应用模块和功能。它是信息系统架构的一部分。对于基于组件化的信息系统而言,应用架构设计的关键点是以集成需求点作为业务上下文建立应用组件之间的服务接口。

技术架构:分析业务架构、数据架构和应用架构对技术的需求,给出满足所有技术需求的技术组件。包括 IT 基础设施、中间件、应用集成、数据集成和网络,通信、技术标准等。对于基于组件化设计的信息系统而言,技术架构设计的关键点是建立系统集成架构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值