阿里古谦:阿里互联网架构的6大最佳实践

简介: 本文根据阿里中间件首席架构钟华(花名:古谦)在“云栖大会上海峰会”专场《“互联网+”架构及实践专场-企业级信息系统云化演进之路》中的演讲整理。钟华在演讲中主要为大家介绍了阿里技术架构发展概况,以及在阿里在构建互联网级系统架构的6大最佳实践。

2016云栖大会上海峰会于2016.1.20日在上海科技馆顺利举办。本文根据阿里中间件首席架构钟华(花名:古谦)在“云栖大会上海峰会”专场《“互联网+”架构及实践专场-企业级信息系统云化演进之路》中的演讲整理。钟华在演讲中主要为大家介绍了阿里技术架构发展概况,以及在阿里在构建互联网级系统架构的6大最佳实践。

 

下面是演讲内容整理。

 


 

古谦首先带领大家回顾了阿里技术架构前期发展状况。在2016年,淘宝的技术架构现状是一个拥有300多个功能的系统,由500多人的技术团队负责维护,该系统基于传应用开发架构,但当时淘宝业务每年翻倍增长。在这样的大背景下,前期的技术架构出现了严重问题:牵一发而动全身业务支持缓慢。上百人维护一个核心工程,、项目发布周期太长,应用处理能力扩展成本高,错误难于隔离,同时也使得数据库能力达到上限。

 

经过多年实战和不断创新,阿里巴巴逐渐形成了今天自己的核心系统架构(如下图)。古谦介绍说,这不是单一的产品,是很多包括中间件等在内的产品沉淀和体系化的结果。做架构不能考虑当前的一件事情,要从业务持续发展来思考。他特别强调,共享服务体系的建立打破了应用“烟囱式”的垂直建设方式,使得可以支撑业务快速创新,避免IT建设的资源浪费。聚划算就是依靠这样的系统架构与理念,依靠几个人在短时间内完成系统快速上线。

 

 


 

那阿里巴巴在形成今天的互联网级系统架构过程中,遵循着什么样的思路、原则,或者在整个构建过程中,有着什么样的经验值得业界参考呢?古谦在演讲中总结了6个原则:

  • 尽可能拆分
  • 服务架构“去中心化”
  • 异步化
  • 数据化运营
  • 尽可能使用成熟组件
  • 尽可能自动化

具体来说,“尽可能拆分”的意思是要以服务化的方式拆分架构,要做到更好地独立扩展与伸缩更灵活的部署隔离错误。“去中心化”的服务架构,与中心化架构诉求是不一样的,“去中心化”的服务架构可以实现服务能力的线性扩展;做到无业务单点,减少故障影响面。

 

异步化,则是利用异步机制拆分事务,系统解耦合,提升开发效率,不过需要值得注意的一点是要确保系统最终一致。数据化运营,则要真正发挥数据价值,而不是简单提供数据平台;同时尽量注意定位跟踪业务链问题,使得更好的管控“去中心化”服务。越是底层系统,越需要稳定,所以尽可能使用成熟组件,这可以保证在项目出现问题以后有充分的掌控力。

 

提到“尽可能自动化”时,古谦谈到说,今天很多互联网公司的运维跟不上,导致拖累业务的发展。运维这件事情虽然需要技术人员做,但是百分之八九十工作是可重复的。在运维领域里,人能做的事情机器也一定要做。一旦机器趋于稳定,一定比人可靠。人在做事过程中有情绪,容易出现人工误差。一旦机器规模增大之后,自动化是非常重要的。

 

“自动化”包括运维标准规范和平台化、弹性伸缩自动化、部署自动化、故障处理自动化。在2015年双11备战中,由于对自动化环境的充分准备,压力测试投入由2000人参与测试降低到了之前人数的1/16,这也大大减少了工程师熬夜次数,使得问题一旦出现就能得到快速响应。

 

最后,古谦表示说,不管是面对政府客户还是企业客户,我们的产品和服务需要有自己的核心价值。贡献服务理念,可以把核心价值和数据变得足够的稳固,可以面对任何的冲击,需要把我们的能力释放出去。通过能力开放平台,企业自身的数据和核心能力,或者外部第三方平台能够基于自身核心业务能力打造真正的生态。能力开放是新的开放方式,开放出去,对今天“互联网+”转型是真正切实有效的业务上的支撑。




2016云栖大会上海峰会回顾专题(含演讲视频):http://yunqi.aliyun.com/2015/shanghai/review.html

相关文章
|
2月前
|
消息中间件 缓存 监控
优化微服务架构中的数据库访问:策略与最佳实践
在微服务架构中,数据库访问的效率直接影响到系统的性能和可扩展性。本文探讨了优化微服务架构中数据库访问的策略与最佳实践,包括数据分片、缓存策略、异步处理和服务间通信优化。通过具体的技术方案和实例分析,提供了一系列实用的建议,以帮助开发团队提升微服务系统的响应速度和稳定性。
|
4月前
|
监控
阿里商旅账单系统架构设计实践问题之对账模型包括内容问题如何解决
阿里商旅账单系统架构设计实践问题之对账模型包括内容问题如何解决
|
14天前
|
监控 Cloud Native 持续交付
云原生架构下微服务的最佳实践与挑战####
【10月更文挑战第20天】 本文深入探讨了云原生架构在现代软件开发中的应用,特别是针对微服务设计模式的最优实践与面临的主要挑战。通过分析容器化、持续集成/持续部署(CI/CD)、服务网格等关键技术,阐述了如何高效构建、部署及运维微服务系统。同时,文章也指出了在云原生转型过程中常见的难题,如服务间的复杂通信、安全性问题以及监控与可观测性的实现,为开发者和企业提供了宝贵的策略指导和解决方案建议。 ####
40 5
|
13天前
|
Kubernetes Cloud Native 持续交付
云原生架构下的微服务设计原则与最佳实践##
在数字化转型的浪潮中,云原生技术以其高效、灵活和可扩展的特性成为企业IT架构转型的首选。本文深入探讨了云原生架构的核心理念,聚焦于微服务设计的关键原则与实施策略,旨在为开发者提供一套系统性的方法论,以应对复杂多变的业务需求和技术挑战。通过分析真实案例,揭示了如何有效利用容器化、持续集成/持续部署(CI/CD)、服务网格等关键技术,构建高性能、易维护的云原生应用。文章还强调了文化与组织变革在云原生转型过程中的重要性,为企业顺利过渡到云原生时代提供了宝贵的见解。 ##
|
12天前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
29 1
|
16天前
|
监控 安全 Java
构建高效后端服务:微服务架构深度解析与最佳实践###
【10月更文挑战第19天】 在数字化转型加速的今天,企业对后端服务的响应速度、可扩展性和灵活性提出了更高要求。本文探讨了微服务架构作为解决方案,通过分析传统单体架构面临的挑战,深入剖析微服务的核心优势、关键组件及设计原则。我们将从实际案例入手,揭示成功实施微服务的策略与常见陷阱,为开发者和企业提供可操作的指导建议。本文目的是帮助读者理解如何利用微服务架构提升后端服务的整体效能,实现业务快速迭代与创新。 ###
46 2
|
2月前
|
Kubernetes Docker 微服务
构建高效的微服务架构:基于Docker和Kubernetes的最佳实践
在现代软件开发中,微服务架构因其灵活性和可扩展性而受到广泛青睐。本文探讨了如何利用Docker和Kubernetes来构建高效的微服务架构。我们将深入分析Docker容器的优势、Kubernetes的编排能力,以及它们如何结合实现高可用性、自动扩展和持续部署。通过具体的最佳实践和实际案例,读者将能够理解如何优化微服务的管理和部署过程,从而提高开发效率和系统稳定性。
|
3月前
|
JSON 测试技术 API
探索微服务架构下的API设计最佳实践
微服务架构的普及带来了开发灵活、可扩展的系统的新机遇,但同时也对API设计提出了更高的要求。有效的API设计不仅影响系统的可维护性和可扩展性,还直接影响开发效率和用户体验。本文将深入探讨在微服务架构下如何设计高效、可靠的API,重点介绍RESTful API设计原则、版本控制策略、身份认证机制及错误处理最佳实践,并结合实际案例提供具体的实现建议。
|
3月前
|
数据库 Java 数据库连接
Hibernate 实体监听器竟如魔法精灵,在 CRUD 操作中掀起自动化风暴!
【8月更文挑战第31天】在软件开发中,效率与自动化至关重要。Hibernate 通过其强大的持久化框架提供了实体监听器这一利器,自动处理 CRUD 操作中的重复任务,如生成唯一标识符、记录更新时间和执行清理操作,从而大幅提升开发效率并减少错误。下面通过示例代码展示了如何定义监听器类,并在实体类中使用 `@EntityListeners` 注解来指定监听器,实现自动化任务。这不仅简化了开发流程,还能根据具体需求灵活应用,满足各种业务场景。
36 0
|
3月前
|
NoSQL API 数据库
揭秘!Flask如何一键解锁RESTful API高效微服务?打造未来互联网架构的隐形力量!
【8月更文挑战第31天】本文介绍如何使用 Flask 构建高效且易维护的 RESTful 微服务,涵盖环境搭建、基本应用创建及代码详解。通过示例展示用户管理系统的 CRUD 操作,并讨论数据库集成、错误处理、认证授权、性能优化及文档生成等高级主题,助力开发者打造强大的后端支持。
57 0