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

简介:

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

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

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

b951af826a245c5236debf5d286a0c6612ff9797

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

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

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

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

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

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

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

相关文章
|
2月前
|
存储 前端开发 架构师
阿里资深架构师带你深入浅出JVM!
JVM = 类加载器(classloader) + 执行引擎(execution engine) + 运行时数据区域(runtime data area)
40 1
|
3月前
|
安全 Java 应用服务中间件
阿里技术官架构使用总结:Spring+MyBatis源码+Tomcat架构解析等
分享Java技术文以及学习经验也有一段时间了,实际上作为程序员,我们都清楚学习的重要性,毕竟时代在发展,互联网之下,稍有一些落后可能就会被淘汰掉,因此我们需要不断去审视自己,通过学习来让自己得到相应的提升。
|
4天前
|
监控 负载均衡 API
构建高性能微服务架构:后端开发的最佳实践
【4月更文挑战第14天】 在当今快速发展的软件开发领域,微服务架构已成为构建可扩展、灵活且容错的系统的首选方法。本文深入探讨了后端开发人员在设计和维护高性能微服务时需要遵循的一系列最佳实践。我们将从服务划分原则、容器化部署、API网关使用、负载均衡、服务监控与故障恢复等方面展开讨论,并结合实际案例分析如何优化微服务性能及可靠性。通过本文的阅读,读者将获得实施高效微服务架构的实用知识与策略。
|
20天前
|
存储 Java 应用服务中间件
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
42 0
|
1月前
|
负载均衡 监控 开发者
构建高效微服务架构:后端开发的最佳实践
【2月更文挑战第23天】在当今快速发展的软件开发领域,微服务架构已成为实现可扩展、灵活且易于维护系统的关键。本文深入探讨了构建高效微服务架构的策略,包括服务划分原则、通信机制、数据管理以及持续集成与部署。通过分析真实案例和最新技术趋势,本文旨在为后端开发者提供一套实用的指导方案,帮助他们在设计微服务时做出明智决策,确保最终系统的高性能和可靠性。
|
1月前
|
存储 分布式计算 Hadoop
一文了解Apache Hudi架构、工具和最佳实践
一文了解Apache Hudi架构、工具和最佳实践
70 0
|
1月前
|
Kubernetes 测试技术 持续交付
探索微服务架构下的持续集成与部署最佳实践
本文将深入探讨在微服务架构下实施持续集成与部署的最佳实践,介绍如何利用现代化工具和流程来实现自动化测试、持续集成、灰度发布等关键环节,帮助开发团队提升交付效率和质量。
|
1月前
|
监控 安全 持续交付
构建高效微服务架构的最佳实践
【2月更文挑战第18天】 随着现代软件开发的演进,微服务架构已成为企业追求敏捷、可扩展和灵活部署的关键解决方案。本文将深入探讨构建高效微服务架构的策略,涵盖设计原则、技术选型、部署考量及持续优化过程。我们将通过实例分析,揭示如何实现服务自治、保证通信效率以及处理分布式系统的复杂性。文章不仅为开发者提供实用的指导建议,还强调了在实施过程中应避免的常见陷阱,旨在帮助读者构建一个既健壮又灵活的微服务系统。
|
1月前
|
监控 安全 持续交付
构建高效微服务架构的最佳实践
【2月更文挑战第18天】 在当今快速迭代和持续交付的软件发展环境中,微服务架构已成为众多企业和开发团队的首选。本文将深入探讨如何构建和维护一个高效的微服务系统,涉及设计原则、技术选型、部署策略以及监控与调优等关键方面。通过一系列的最佳实践,读者将获得构建可靠、可扩展且易于管理的微服务系统的全面指导。
|
2月前
|
架构师 Java API
阿里P7架构师带你深入剖析synchronized的实现原理
显示锁ReentrantLock的内部同步依赖于AQS(AbstractQueuedSynchronizer),因此,分析ReentrantLock必然涉及AQS。
19 1

热门文章

最新文章