应用架构(Application Architecture)是描述了IT系统功能和技术实现的内容。应用架构分为以下两个不同的层次:
企业级的应用架构:企业层面的应用架构起到了统一规划、承上启下的作用,向上承接了企业战略发展方向和业务模式,向下规划和指导企业各个IT系统的定位和功能。在企业架构中,应用架构是最重要和工作量最大的部分,他包括了企业的应用架构蓝图、架构标准/原则、系统的边界和定义、系统间的关联关系等方面的内容。
单个系统的应用架构:在开发或设计单一IT系统时,设计系统的主要模块和功能点,系统技术实现是从前端展示到业务处理逻辑,到后台数据是如何架构的。这方面的工作一般属于项目组,而不是企业架构的范畴,不过各个系统的架构设计需要遵循企业总体应用架构原则。
应用架构主要以架构图的方式描述系统的组成和框架,一般从系统功能和系统技术层次两个架构视角进行设计:
1. 系统功能视角的应用架构图

2. 系统技术层次视角的应用架构图

应用就是处理器,应用架构的内容包括现有架构图、Web 应用现状、作业小应用(Job)现状和接口架构。其中,接口是应用层面的关键,它是一个程序与另外一个程序交互的部分。
应用架构图表列出了哪些业务逻辑没有被重用,换句话说业务逻辑被多少个应用调用,就需要被重复开发多少次,一旦改了一个地方,就要同时改多个地方,导致系统开发效率非常低下。
各业务逻辑如预订逻辑,虽然被多个应用调用,但它们与应用是没有关系的,业务逻辑可以独立的存在,也可以寄宿于多个应用。业务逻辑是一个业务操作的抽象,而业务应用与业务部门共同完成了业务操作。
应用架构

应用架构 :
应用之间结构和交互的描述。
大数据系统体系架构图

大数据架构思路
从图中可以看出,分为数据采集层、数据计算层、数据服务层、数据应用层。
数据采集层
数据从内部其它系统或者外部系统到大数据平台的过程,数据包括:前端埋点、内部数据库导入、日志、爬虫等;
数据计算层
通过采集层收集过来的大量原型数据,需要进行整合和计算才能实现价值。
其中整合即数据的管理体系,通过数据建模,构建统一、规范的全域数据体系;通过数据分层,把数据更加清晰。其中分层按照业界统一的分层理念,包括:数据操作层、明细层、汇总层、应用层。
计算包括离线计算和实时计算;离线数据同步可采用T-1方式,即每天同步上一天的数据;
数据服务层
数据被整合和计算后,提供给其它应用进行消费。比如公司内部的BI报表、数据服务(API)等。
数据应用层
数据服务准备好后,就可以开放给用户;比如其它公司、广告商、推荐等。
名词解释
数据网关
这里的数据网关是数据中台中数据服务里的概念。数据服务基本功能包括:接口规范化定义、数据网关、链路关系的维护、数据交付、提供多样中间存储、 逻辑模型、 API接口、API测试等;
数据网关作为网关服务,数据服务必须要具备认证、权限、限流、监控四大功能,这是数据和接口复用的前提。
通俗的理解,可以说数据网关=API接口,对外提供接口服务。在架构图中,也可以改为”API网关“。
自助化提数
常用的报表平台提供给数据分析人员,通过拖拉拽,实现数据获取。
预处理
当时想的是数据经过一定的程序处理后,对外提供服务,其实这块就是数据网关,可以去掉,有点重复了。
建模
ADS(应用数据)
DWS(公共汇总)
DWD(公共明细)
ODS(操作数据)
数据仓库分层是为了解耦,如果通过源数据直接提供报表服务,前端、中间数据处理、后端数据库就绑定了,如果想修改会互相影响;具体分几层,根据实现业务的,每个公司不一样;通用的用
- ODS(Operation Data Store),操作数据层,即原始数据层,又叫贴源层,与业务系统基本一样。
- DWD(Data Warehouse Detail),明细数据层,对数据进行清洗、代码统一、字段统一、格式统一、简单聚合等工作。
- DWS(Data Warehouse Service),服务数据层,按照业务目标,对已经处理好的数据进行横向汇聚、纵向汇总。按照宽表模型进行数据冗余和预计算,以空间换时间。其中宽表就是这一层;
- ADS(Application Data Store),应用数据层,主要是面向前端应用汇聚的数据。有的公司没有专门的划分这一层。
另外还有标签层、主题层、DWB基础数据层(轻度汇总层)等,每个公司的可能不一样,大致差不多。另外电力这边分为
- ODS层,即他们叫贴源层。
- 共享层(CIM表),原来电力有一套建模CIM标准,同步过来的数据都是标准化后的,直接是共享层了。
- 分析层:即宽表,这块应该是某些业务组合后对外的数据;
技术名词
Kylin
Kylin是Hadoop大数据平台的一个开源OLAP引擎。它采用多维立方体预计算技术,可以将大数据的SQL查询速度提升到亚秒级别。
简单说就是按照指定的数据模型,提前进行数据处理,保存结果提供服务;速度快、性能好
Spark Streaming
大数据流式数据处理技术,Spark是离线,批处理,比较慢,后来出了流式处理Spark Streaming,实现了近实时的数据处理;
Flink
大数据流式数据处理技术,可能同时实现离线和实时数据处理
OGG
oracle公司出的一个数据同步工具,即从一个数据源到另一个数据源,目前支持关系数据库如mysql、oracel,也支持大数据,如hadoop等。
应用架构
应用架构(Application Architecture)是描述了IT系统功能和技术实现的内容。应用架构分为以下两个不同的层次:
企业级的应用架构:企业层面的应用架构起到了统一规划、承上启下的作用,向上承接了企业战略发展方向和业务模式,向下规划和指导企业各个IT系统的定位和功能。在企业架构中,应用架构是最重要和工作量最大的部分,他包括了企业的应用架构蓝图、架构标准/原则、系统的边界和定义、系统间的关联关系等方面的内容。
单个系统的应用架构:在开发或设计单一IT系统时,设计系统的主要模块和功能点,系统技术实现是从前端展示到业务处理逻辑,到后台数据是如何架构的。这方面的工作一般属于项目组,而不是企业架构的范畴,不过各个系统的架构设计需要遵循企业总体应用架构原则。
应用架构主要以架构图的方式描述系统的组成和框架,一般从系统功能和系统技术层次两个架构视角进行设计:
1. 系统功能视角的应用架构图

2. 系统技术层次视角的应用架构图

