五小时构建云原生电商平台 | KubeCon SOFAStack Workshop 详解

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 本文根据 KubeCon China 2019 同场活动 SOFAStack Cloud Native Workshop 内容整理,文末包含文档、PPT 地址,欢迎试用和提出建议。

本文根据 KubeCon China 2019 同场活动 SOFAStack Cloud Native Workshop 内容整理,文末包含文档、PPT 地址,欢迎试用和提出建议。

2019 年 6 月 25 日,在 KubeCon China 2019,全球知名开源组织云原生计算基金会 CNCF 宣布,蚂蚁金服正式成为 CNCF 黄金会员,蚂蚁金服表示将持续加大对开源项目的支持,包括 Kubernetes,Service Mesh,Serverless,安全容器等方向,并发挥自己的力量。

在本次大会,蚂蚁金服也与数百名云原生爱好者用五个小时搭建了一个云原生的电商平台,具体怎么做?希望本文能提供一些思路。

image.png

KubeCon SOFAStack Cloud Native Workshop 现场图

| 近二十年技术发展:从集中式架构到云原生架构

image.png

过去的十几年里,技术发生了翻天覆地的变化,先来简单回顾下:在二十一世纪初,大部分企业的应用还处于集中式架构。这个阶段企业开始做一些信息化的建设工作,典型的一些技术例如集群部署(Tomcat 集群、Weblogic 集群)来保证系统的高可用,以及采购 IOE(IBM,Oracle,EMC)等这些商业化的软硬件产品,通过更高的配置、更好的性能等方式来抗住业务的增长。

慢慢的,随着公司规模的扩大,集中式架构已经不足以再支撑复杂的业务系统,很多企业开始做一些系统拆分的改造,典型的技术例如 SOA 化。当系统拆分后,就不再需要使用之前昂贵的小型机去部署服务,慢慢的虚拟机的部署方式变成了主流。同样的,服务化后数据库和存储也不再必须采用商业化软硬件的解决方案,企业转为一些开源的解决方案,例如把 Oracle 换成了 MySQL。

系统的拆分虽然可以带来很多好处,例如使业务内聚,系统之间松耦合,方便快速迭代等。但是随之带来的问题也很明显,例如拆分后系统越来越多,系统间的交互也会变得更加复杂,调用链路变长可能引起性能问题,分布式后数据存储等数据一致性也有不少挑战,还有服务化后带来资源分配、隔离等问题。这时候一些虚拟化和容器化的技术开始涌现,典型技术就是 OpenStack 和 Docker,OpenStack 帮助我们解决了 IaaS 层的建设与管理问题,而 Docker 给了我们资源隔离的最佳实践,但这些并没有解决掉运维复杂的一些问题。

而近几年,新的云原生的一些技术产品和理念开始出现,例如 Kubernetes、Service Mesh、Serverless 等,这些可以解决应用部署、运维复杂的一些实际问题。

| 技术发展下的蚂蚁金服

image.png

蚂蚁金服从 2007 年开始从集中式架构走向分布式架构。我们把过去十多年的技术演进过程中自主研发的一套金融级分布式架构沉淀成为 SOFAStack™(Scalable Open Financial Architecture Stack)。

从 2007 年到 2012 年,蚂蚁金服完成所有业务系统的模块化、服务化改造。通过 TCC 模式解决了服务化、数据拆分等带来的数据一致性的问题,通过注册中心解决了服务单点的问题。

在完成服务化改造后,随着服务集群的增大,系统的伸缩性遇到了瓶颈,另外为了满足金融级的属性,蚂蚁金服对系统可用性、数据一致性提出了更高的要求。蚂蚁金服从 2013 年开始摸索出了一套单元化的思想,并基于此,推出了同城双活、异地多活、弹性调度等能力,保证业务不停机,数据不丢失。

再之后随着国内互联网金融的崛起、蚂蚁金服的国际化,蚂蚁金服也将自己的能力和技术开放出来,在金融云上以云产品的形式存在,开发者可以基于此快速搭建金融级能力的分布式系统,同时我们也将内部的一些实践开源出来。

从 2017 年开始,我们注意到云原生的理念正在快速发展,面对云原生带来的机会和改变,蚂蚁金服的策略是积极拥抱云原生。 因为云原生带来的思想和理念刚好可以用来解决蚂蚁金服内部遇到的一些场景和问题。

image.png

例如 Service Mesh 可以解决中间件等基础能力下层的问题,Serverless 可以解决研发效能的问题,可以让业务开发更专注于业务。这些新的技术和理念蚂蚁金服都会在内部探索并在生产落地,最近我们在深圳 GIAC 首次分享了大规模落地的实践总结,蚂蚁金服 Service Mesh 落地实践与挑战 | GIAC 实录。同时,我们也会将这些云原生落地实践开源出来,并和社区一起共同推进和建设金融级的云原生标准。

SOFAStack 开源版本:

2018 年 4 月 19 日正式宣布逐步开源 SOFAStack,开源的策略是 Open Core,也就是把核心的接口和实现都开源出来,内部保留老的兼容代码。到现在为止差不多 1 年 2 个月的时间,已经开源了十几个项目,累计超过 25,600 Star,120 多位贡献者, 以及 30 多家生产用户,近期也认证了两位社区 Committer,这里想再次感谢开发者和企业的信任和认可,我们将持续优化和扩大开源版图。

我们看下这张图,这里可以看到 SOFAStack 体系下开源了很多微服务相关的技术组件,例如 SOFABoot、SOFARPC 等,我们也和社区其它优秀的开源产品进行了兼容或者集成,利用这些组件可以快速的搭建出金融级分布式架构系统。开源的源码可以在这张图下面的 Github 地址上找到。本次的 Workshop 我们就会利用到开源的一些技术组件。

image.png

SOFAStack 云产品:

同时,我们也把 SOFAStack 的能力集成到了云产品上,如下图:

image.png

上图是云上 SOFAStack 的架构图,我们可以看到 SOFAStack 商业化对外输出的是完整的解决方案。支撑解决方案的就是本次要体验的分布式中间件和云应用引擎等等能力。除此之外还有完善的研发效能平台服务以及技术风险防控平台。关于这部分内容,在本次下午场会有更详细的介绍和体验。

| Let's get started!

刚聊了这么多,大家是不是想动手试试了呢?本次 Demo 将带领大家综合利用开源版本的 SOFAStack 和云上产品,五小时实现一个在线电商平台。

下面简单介绍下本次 Workshop 的内容,如下图:

image.png

上午

  • 构建基础电商平台(书店) ,并改造为微服务架构;
  • 基于 SOFABoot 动态模块能力实时的电商平台(书店)增加智能推荐的能力;
  • 用分布式事务 Seata 来解决微服务拆分后的分布式事务的问题,保证购买和余额的数据一致性。

下午

  • 通过 Serverless 快速上云,利用 SOFA SAS 发布书店到云环境上,根据流量自动扩缩容;
  • 通过 Service Mesh 的方式来实现精度灰度和流控的能力。

image.png

这是提到的是在线书店的系统架构图,最上面是部署好的一些基础设施,包括注册中心 SOFARegistry,服务管控台 SOFADashboard,监控度量 SOFALookout 等,我们已经提前准备好了这部分内容。

下面就是业务的内容。为了方便,我们不再做前后端分类部署,本次大家只需要操作 2 个应用:左边是网页系统和库存系统,提供库存操作服务,右边是账务系统,提供余额相关服务。当用户的购买请求进来时,库存系统需要通过 RPC 远程调用到账务系统。

另外库存服务和余额服务分别对应的是独立的数据库,这个后面会用分布式事务框架 Seata 去解决分布式下数据一致性的问题。

| SOFAStack Cloud Native Workshop 文档地址

image.png

本期 Workshop 用到的所有文档目前都在 SOFAStack 官网上,大家访问后看到导航栏有一个【指南】,即可根据文档进行操作。

本期所有相关 PPT 下载地址在对应【指南】底部。

SOFAStack 官网:https://www.sofastack.tech

| 特别鸣谢

本次我们准备了《未来架构》签名书作为礼品,非常感谢四位作者到现场支持。

image.png

别忘了 Star 我们:
https://github.com/sofastack
希望和我们一起玩的开心

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
3月前
|
Cloud Native
邀您参加云原生高可用技术沙龙丨云上高可用体系构建:从理论到实践
云原生高可用技术专场,邀您从理论到实践一起交流,探索云上高可用体系构建!
114 11
|
3月前
|
运维 Cloud Native Serverless
Serverless Argo Workflows大规模计算工作流平台荣获信通院“云原生技术创新标杆案例”
2024年12月24日,阿里云Serverless Argo Workflows大规模计算工作流平台荣获由中国信息通信研究院颁发的「云原生技术创新案例」奖。
|
3月前
|
人工智能 缓存 异构计算
云原生AI加速生成式人工智能应用的部署构建
本文探讨了云原生技术背景下,尤其是Kubernetes和容器技术的发展,对模型推理服务带来的挑战与优化策略。文中详细介绍了Knative的弹性扩展机制,包括HPA和CronHPA,以及针对传统弹性扩展“滞后”问题提出的AHPA(高级弹性预测)。此外,文章重点介绍了Fluid项目,它通过分布式缓存优化了模型加载的I/O操作,显著缩短了推理服务的冷启动时间,特别是在处理大规模并发请求时表现出色。通过实际案例,展示了Fluid在vLLM和Qwen模型推理中的应用效果,证明了其在提高模型推理效率和响应速度方面的优势。
云原生AI加速生成式人工智能应用的部署构建
|
3月前
|
人工智能 Cloud Native 大数据
DataWorks深度技术解读:构建开放的云原生数据开发平台
Dateworks是一款阿里云推出的云原生数据处理产品,旨在解决数据治理和数仓管理中的挑战。它强调数据的准确性与一致性,确保商业决策的有效性。然而,严格的治理模式限制了开发者的灵活性,尤其是在面对多模态数据和AI应用时。为应对这些挑战,Dateworks进行了重大革新,包括云原生化、开放性增强及面向开发者的改进。通过Kubernetes作为资源底座,Dateworks实现了更灵活的任务调度和容器化支持,连接更多云产品,并提供开源Flowspec和Open API,提升用户体验。
|
3月前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
3月前
|
Cloud Native JavaScript Docker
云原生技术:构建现代应用的基石
在数字化转型的浪潮中,云原生技术如同一艘承载梦想的航船,引领企业驶向创新与效率的新海域。本文将深入探索云原生技术的核心价值,揭示其如何重塑软件开发、部署和运维模式,同时通过一个简易代码示例,展现云原生应用的构建过程,让读者领略到云原生技术的魅力所在。
|
4月前
|
运维 Cloud Native Docker
云端漫步:构建你的第一个云原生应用
在这篇文章中,我们将一起踏上一段激动人心的旅程,探索如何从零开始构建一个云原生应用。我们将深入理解云原生的核心概念,并通过实际代码示例,学习如何利用云平台的强大功能来部署和管理应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的指导和启发。让我们一起开启这场云端之旅,发现云原生应用的魅力吧!
86 3
|
4月前
|
人工智能 Cloud Native 算法
|
4月前
|
运维 Kubernetes Cloud Native
云原生架构:构建现代应用程序的基石####
本文将深入探讨云原生架构的核心概念、关键特征及其对现代软件开发的重要性。不同于传统的摘要概述,我们将通过一个生动的案例引入——想象一下,一家初创企业如何在短短几个月内,从零开始构建起一个能够支撑数百万用户访问量、具备高可用性与弹性伸缩能力的在线服务平台。这个过程中,云原生技术扮演了怎样的角色?它是如何帮助这家企业快速响应市场变化,同时保持系统稳定性和成本效益的?带着这些问题,让我们一起揭开云原生架构背后的神秘面纱。 ####
|
Kubernetes 供应链 算法
【开源之夏 2023】欢迎报名 SOFAStack 社区项目!
开源之夏是由“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展,培养和发掘更多优秀的开发者。 活动联合国内外各大开源社区,针对重要开源软件的开发与维护提供项目任务,并面向全球高校学生开放报名。

热门文章

最新文章