写点什么

互联网技术架构的启示

  • 2014-02-23
  • 本文字数:2369 字

    阅读完需:约 8 分钟

最近,“金融电子化”的微信 (fcmag1993) 中发表了中国建设银行信息技术管理部副总经理王申科撰写的一篇精彩文章“互联网技术架构给我们的启示”,他从商业银行 IT 从业人员的角度,总结和分析了阿里、谷歌等互联网企业的技术路线、架构和管理,从基本计算机理论与模型、互联网应用的技术基础、商业银行应用系统的技术基础、对银行业的启示等几个方面做了深入的讨论。

在“基本计算机理论与模型”一节中,王申科提到了分布式系统、CAP 理论(一致性、可用性、分区容忍性)、ACID 模型(原子性、一致性、隔离性、持久性)和 SOA 面向服务架构等,其中分析了有别于 ACID 的 BASE 模型:

BASE 则是另外一个理念和思路,Basically Available 为基本可用,Soft-state 为软状态 / 柔性事务,EventualConsistency 为最终一致性。BASE 模型完全不同于 ACID 模型。牺牲高一致性,获得可用性。对一个“基本可用”系统来说,需要把系统中的所有功能点进行优先级的划分,对于系统内部的状态,采用一种柔性的策略,假如系统内分布了 3 个功能模块,允许它们在某一时刻 3 个模块的状态可以不一致。然后通过业务和技术的手段,例如采用异步机制或者批处理方式,来保证系统通过柔性状态一致来获得可用性。当前互联网应用在业务允许范围里普遍参考 BASE 模型来进行系统设计。

对于分布式系统,他以 Google 为例:

Google 在构建搜索系统时,第一次将分布式系统和互联网结合起来,用分布式系统来解决互联网问题。Google 的分布式系统设计有几个重要的特征:视失败为常态;重视横向伸缩性;预测性能,追求低延迟,廉价的硬件和软件,推崇重用,灵活设计,加入足够的监测点和调试功能来帮助日后的调试,优先虚拟计算。 Google 的这些设计思想,成为互联网应用开发事实上的标准和规范。

对于“互联网应用的技术基础”,王申科总结了几个方面:

  • 基于 x86 服务器集群和开源软件搭建技术设施,分布式架构 + 开源软件是其基本特征。
  • 积极进取的创新精神。以阿里巴巴为例,短短几年先后自主开发了许多技术产品。
  • 基于场景的需求分析和应用开发。
  • 平台化建设理念,提高开发效率和系统质量。
  • 自动化部署和运维体系。
  • 成本控制意识和自主掌控能力。

其中的”基于场景的需求分析和应用开发”, 他分析了阿里巴巴的开发原则:

SOA 服务化,所有系统采取服务化模式,系统之间进行必要的分拆和隔离,通过服务调用和消息通知的方式进行协同;BASE 和 ACID 相结合,能够采取 BASE 模式的业务一定是异步方式,而核心的账务信息一定是采取实时方式,保证 ACID;无单点设计、可监控、可测试、可回滚、可禁用、短事务与柔性事务、异步设计、无状态、使用成熟技术、业务分等级、业务可降级、多数据中心部署。

对于“自动化部署和运维体系”,王申科总结了阿里巴巴的经验:

开发了一套资产信息采集程序和采集流程,将服务器、网络设备、存贮等资产信息,采集到数据库中。应用系统不再关心具体的资源信息,无论资产还是资源都是处于动态的变化中。通过资产信息和资源的变更流程,资产信息,硬件信息和应用信息的任何变更,必须通过系统进行变更记录,详细记录每个设备的生命周期里的各种变化。变更流程和工作流系统对接,通过工作流系统进行分级审批之后,才能进行相应的变更。以自动化采集为核心的资产管理体系,主动监控确保资源池一致性,保证资产信息的准确性。对资源进行回收和重新分配的时候,先要确保资源的状态。对于资源的数据,必须采取主动监控的做法,确保数据的可靠性,其具体做法是每天对设备的信息进行重新抓取,并与数据库里的状态进行匹配,发现不一致的数据,报警并锁定资源,不允许对资源进行任何操作。通过这种自动化的方式,杜绝人为错误,确保资产数据和资源池信息的数据一致性,是资源池可信的重要保证。

在“商业银行应用系统的技术基础”方面,他分析了以下方面:

  • 通用信息技术和商业化软件是基础,集中式系统部署。
  • 面临完全依赖供应商的被动局面。
  • 交易系统突出资金安全和核算的准确性,数据一致性要求高,客户体验差。

其中对于第 2 点,王申科认为:

商业银行在信息技术支持和保障能力、技术进步和创新能力、技术采购议价能力、设备升级周期和扩容、成本控制等方面,很大程度上依赖信息技术供应商。从历史看,商业银行应用系统大多采用三层架构:服务层、应用层和数据层,最近几年逐步加入 ESB 层。每层采用双机或集群技术支撑业务应用。早期以纵向(scale-up)升级扩容为主,现在逐步采用横向(scale-out)扩容方式或虚拟化方式。这种历史发展过程中形成的架构和技术路线,很难适应发展迅速的互联网时代应用需求。

在“对银行业的启示方面”,王申科总结了以下几个方面:

  • 用互联网的思维,认真思考和规划商业银行的信息化建设工作。
  • 引入分布式架构和开源软件,构建集中式和分布式共存的架构体系。
  • 突出核心能力,理性看待“去 IOE”。
  • 从设备供应商向服务供应商转型。
  • 积极主动与互联网公司开展合作。

他认为:从应对市场的整体效果看,互联网分布式架构明显优于商业银行传统集中式架构,核心差别在于两类不同的应用架构理念,以及两类不同的技术团队管理、支持方式。因此,从应用入手,着手调整商业银行传统的技术架构和供应商管理方式,制定商业银行的技术架构设计规范和部署策略,实现架构的科学管理。仅从技术角度看,“去 IOE”的实质是分布式架构和集中式架构、开源软件和商用软件的选择问题,各自的利弊见仁见智。商业银行 IT 从业人员的核心竞争力主要体现在对银行业务理解,以及对信息技术的熟练应用和应用架构设计能力,用信息化支持、推动和引领业务创新。

对互联网架构领域感兴趣的读者可以关注即将于 2014 年 4 月 25~27 日在北京国际会议中心召开的 QCon 北京 2014 大会,专题包括知名网站案例分析扩展性、可用性与高性能云计算服务探秘大数据处理与大数据应用等,许多讲座都与架构相关。读者可点击大会主页查看详情。

2014-02-23 20:109704
用户头像

发布了 501 篇内容, 共 282.7 次阅读, 收获喜欢 64 次。

关注

评论

发布
暂无评论
发现更多内容

阿里云张建锋:核心云产品全面 Serverless 化

Serverless Devs

星策转型大咖说第二弹!前喜茶数字化副总裁、前百果科技首席技术市场官沈欣老师数字化转型经验分享!

星策开源社区

开源 方法论 转型 智能化转型

微服务调用的正确打开方式

Java全栈架构师

Java 程序员 面试 微服务 后端

CSS 基础属性篇组成及作用

千锋IT教育

适用更多会议场景,华为云会议的分组讨论功能来了!

IT科技苏辞

个推TechDay直播回顾 | 详解数据指标体系设计与开发全流程(附视频及课件下载)

个推

数据运营 指标预测 数据指标体系

【计算讲谈社】第十三讲|未来40年,“碳中和”可能带来哪些深远影响?

大咖说

碳中和

自学 UI 设计有哪些书籍推荐

千锋IT教育

华为云会议网络研讨会,按次订购更方便!

清欢科技

又一创新!阿里云 Serverless 调度论文被云计算顶会 ACM SoCC 收录

阿里巴巴云原生

阿里云 Serverless 云原生

待办事项是什么意思,为什么要用?

优秀

待办事项

测试自动化中遵循的最佳实践

禅道项目管理

自动化测试

Go语言—big包的使用

良猿

Go golang 后端 11月月更 goweb

ShareSDK for Flutter

MobTech袤博科技

阿里大牛纯手写的微服务入门笔记,从基础到进阶直接封神

小二,上酒上酒

Java 编程 程序员 架构 微服务

KnowStreaming贡献流程

石臻臻的杂货铺

kafka 后端 11月月更

阿里P8大佬总结的Nacos入门笔记,从安装到进阶小白也能轻松学会

小二,上酒上酒

Java 编程 程序员 nacos

这份1658页的Java面试核心突击讲,成功让我上岸阿里

小二,上酒上酒

Java 程序员 面试 阿里 大厂面试

在线电子表格,助力数据分析人员高效办公

流量猫猫头

大数据

2022最新整理上千道Java面试攻略,近500页PDF文档

钟奕礼

Java Java 面试 java程序员 java编程

小伙伴面经分享京东+面试八股文整套面试真题(含答案)

钟奕礼

Java 程序员 java面试 java编程

工业物联网DCS和SCADA的区别

2D3D前端可视化开发

物联网 DCS web组态软件 SCADA 工业组态

推荐5款IDEA插件,堪称代码质量检查利器!

程序员小毕

Java 程序员 程序人生 后端 IDEA

华为云开发者官网首页焕新升级,赋能开发者云上成长

华为云开发者联盟

华为云

提升汽车APP用户体验,火山引擎APMPlus的“独家秘笈”

字节跳动终端技术

性能监控 APP开发 应用性能 火山引擎 APMPlus

EMR-StarRocks 与 Flink 在汇量实时写入场景的最佳实践

阿里云大数据AI技术

数据库 flink EMR 十一月月更

破坏系统是为了更稳定?混沌工程在去哪儿的4个阶段实践

TakinTalks稳定性社区

混沌工程 故障治理

Java岗史上最全八股文面试真题汇总,堪称2022年面试天花板

小二,上酒上酒

Java 程序员 面试 八股文

个推TechDay治数训练营直播预告 | 从方法论到落地应用,详解企业标签体系建设要点

个推

标签 用户画像 标签体系

个推发布《Android13适配指南》,解读Android13新特性

个推

android 安卓 安卓开发

2022年11月《中国数据库行业分析报告》重磅发布!精彩抢先看

墨天轮

人工智能 数据库 dba 智能运维 国产数据库

互联网技术架构的启示_Google_崔康_InfoQ精选文章