溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》
  • 首頁 > 
  • 教程 > 
  • 服務(wù)器 > 
  • 五小時(shí)構(gòu)建云原生電商平臺(tái) | KubeCon SOFAStack Workshop 詳解

五小時(shí)構(gòu)建云原生電商平臺(tái) | KubeCon SOFAStack Workshop 詳解

發(fā)布時(shí)間:2020-08-12 19:33:16 來源:ITPUB博客 閱讀:190 作者:支付寶技術(shù)團(tuán)隊(duì) 欄目:服務(wù)器

2019 年 6 月 25 日,在 KubeCon China 2019,全球知名開源組織云原生計(jì)算基金會(huì) CNCF 宣布,螞蟻金服正式成為 CNCF 黃金會(huì)員,螞蟻金服表示將持續(xù)加大對(duì)開源項(xiàng)目的支持,包括 Kubernetes,Service Mesh,Serverless,安全容器等方向,并發(fā)揮自己的力量。

在本次大會(huì),螞蟻金服也與數(shù)百名云原生愛好者用五個(gè)小時(shí)搭建了一個(gè)云原生的電商平臺(tái),具體怎么做?希望本文能提供一些思路。

五小時(shí)構(gòu)建云原生電商平臺(tái) | KubeCon SOFAStack Workshop 詳解

KubeCon SOFAStack Cloud Native Workshop 現(xiàn)場圖

近二十年技術(shù)發(fā)展:從集中式架構(gòu)到云原生架構(gòu)

五小時(shí)構(gòu)建云原生電商平臺(tái) | KubeCon SOFAStack Workshop 詳解

過去的十幾年里,技術(shù)發(fā)生了翻天覆地的變化,先來簡單回顧下:在二十一世紀(jì)初,大部分企業(yè)的應(yīng)用還處于集中式架構(gòu)。這個(gè)階段企業(yè)開始做一些信息化的建設(shè)工作,典型的一些技術(shù)例如集群部署(Tomcat 集群、Weblogic 集群)來保證系統(tǒng)的高可用,以及采購 IOE(IBM,Oracle,EMC)等這些商業(yè)化的軟硬件產(chǎn)品,通過更高的配置、更好的性能等方式來抗住業(yè)務(wù)的增長。

慢慢的,隨著公司規(guī)模的擴(kuò)大,集中式架構(gòu)已經(jīng)不足以再支撐復(fù)雜的業(yè)務(wù)系統(tǒng),很多企業(yè)開始做一些系統(tǒng)拆分的改造,典型的技術(shù)例如 SOA 化。當(dāng)系統(tǒng)拆分后,就不再需要使用之前昂貴的小型機(jī)去部署服務(wù),慢慢的虛擬機(jī)的部署方式變成了主流。同樣的,服務(wù)化后數(shù)據(jù)庫和存儲(chǔ)也不再必須采用商業(yè)化軟硬件的解決方案,企業(yè)轉(zhuǎn)為一些開源的解決方案,例如把 Oracle 換成了 MySQL。

系統(tǒng)的拆分雖然可以帶來很多好處,例如使業(yè)務(wù)內(nèi)聚,系統(tǒng)之間松耦合,方便快速迭代等。但是隨之帶來的問題也很明顯,例如拆分后系統(tǒng)越來越多,系統(tǒng)間的交互也會(huì)變得更加復(fù)雜,調(diào)用鏈路變長可能引起性能問題,分布式后數(shù)據(jù)存儲(chǔ)等數(shù)據(jù)一致性也有不少挑戰(zhàn),還有服務(wù)化后帶來資源分配、隔離等問題。這時(shí)候一些虛擬化和容器化的技術(shù)開始涌現(xiàn),典型技術(shù)就是 OpenStack 和 Docker,OpenStack 幫助我們解決了 IaaS 層的建設(shè)與管理問題,而 Docker 給了我們資源隔離的最佳實(shí)踐,但這些并沒有解決掉運(yùn)維復(fù)雜的一些問題。

而近幾年,新的云原生的一些技術(shù)產(chǎn)品和理念開始出現(xiàn),例如 Kubernetes、Service Mesh、Serverless 等,這些可以解決應(yīng)用部署、運(yùn)維復(fù)雜的一些實(shí)際問題。

技術(shù)發(fā)展下的螞蟻金服

五小時(shí)構(gòu)建云原生電商平臺(tái) | KubeCon SOFAStack Workshop 詳解

螞蟻金服從 2007 年開始從集中式架構(gòu)走向分布式架構(gòu)。我們把過去十多年的技術(shù)演進(jìn)過程中自主研發(fā)的一套金融級(jí)分布式架構(gòu)沉淀成為 SOFAStack?(Scalable Open Financial Architecture Stack)。

從 2007 年到 2012 年,螞蟻金服完成所有業(yè)務(wù)系統(tǒng)的模塊化、服務(wù)化改造。通過 TCC 模式解決了服務(wù)化、數(shù)據(jù)拆分等帶來的數(shù)據(jù)一致性的問題,通過注冊(cè)中心解決了服務(wù)單點(diǎn)的問題。

在完成服務(wù)化改造后,隨著服務(wù)集群的增大,系統(tǒng)的伸縮性遇到了瓶頸,另外為了滿足金融級(jí)的屬性,螞蟻金服對(duì)系統(tǒng)可用性、數(shù)據(jù)一致性提出了更高的要求。螞蟻金服從 2013 年開始摸索出了一套單元化的思想,并基于此,推出了同城雙活、異地多活、彈性調(diào)度等能力,保證業(yè)務(wù)不停機(jī),數(shù)據(jù)不丟失。

再之后隨著國內(nèi)互聯(lián)網(wǎng)金融的崛起、螞蟻金服的國際化,螞蟻金服也將自己的能力和技術(shù)開放出來,在金融云上以云產(chǎn)品的形式存在,開發(fā)者可以基于此快速搭建金融級(jí)能力的分布式系統(tǒng),同時(shí)我們也將內(nèi)部的一些實(shí)踐開源出來。

從 2017 年開始,我們注意到云原生的理念正在快速發(fā)展,面對(duì)云原生帶來的機(jī)會(huì)和改變,螞蟻金服的策略是積極擁抱云原生。因?yàn)樵圃鷰淼乃枷牒屠砟顒偤每梢杂脕斫鉀Q螞蟻金服內(nèi)部遇到的一些場景和問題。

五小時(shí)構(gòu)建云原生電商平臺(tái) | KubeCon SOFAStack Workshop 詳解

例如 Service Mesh 可以解決中間件等基礎(chǔ)能力下層的問題,Serverless 可以解決研發(fā)效能的問題,可以讓業(yè)務(wù)開發(fā)更專注于業(yè)務(wù)。這些新的技術(shù)和理念螞蟻金服都會(huì)在內(nèi)部探索并在生產(chǎn)落地,最近我們?cè)谏钲?GIAC 首次分享了大規(guī)模落地的實(shí)踐總結(jié)。同時(shí),我們也會(huì)將這些云原生落地實(shí)踐開源出來,并和社區(qū)一起共同推進(jìn)和建設(shè)金融級(jí)的云原生標(biāo)準(zhǔn)。

SOFAStack 開源版本:

2018 年 4 月 19 日正式宣布逐步開源 SOFAStack,開源的策略是 Open Core,也就是把核心的接口和實(shí)現(xiàn)都開源出來,內(nèi)部保留老的兼容代碼。到現(xiàn)在為止差不多 1 年 2 個(gè)月的時(shí)間,已經(jīng)開源了十幾個(gè)項(xiàng)目,累計(jì)超過 25,600 Star,120 多位貢獻(xiàn)者, 以及 30 多家生產(chǎn)用戶,近期也認(rèn)證了兩位社區(qū) Committer,這里想再次感謝開發(fā)者和企業(yè)的信任和認(rèn)可,我們將持續(xù)優(yōu)化和擴(kuò)大開源版圖。

我們看下這張圖,這里可以看到 SOFAStack 體系下開源了很多微服務(wù)相關(guān)的技術(shù)組件,例如 SOFABoot、SOFARPC 等,我們也和社區(qū)其它優(yōu)秀的開源產(chǎn)品進(jìn)行了兼容或者集成,利用這些組件可以快速的搭建出金融級(jí)分布式架構(gòu)系統(tǒng)。開源的源碼可以在這張圖下面的 Github 地址上找到。本次的 Workshop 我們就會(huì)利用到開源的一些技術(shù)組件。

五小時(shí)構(gòu)建云原生電商平臺(tái) | KubeCon SOFAStack Workshop 詳解

SOFAStack 云產(chǎn)品:

同時(shí),我們也把 SOFAStack 的能力集成到了云產(chǎn)品上,如下圖:

五小時(shí)構(gòu)建云原生電商平臺(tái) | KubeCon SOFAStack Workshop 詳解

上圖是云上 SOFAStack 的架構(gòu)圖,我們可以看到 SOFAStack 商業(yè)化對(duì)外輸出的是完整的解決方案。支撐解決方案的就是本次要體驗(yàn)的分布式中間件和云應(yīng)用引擎等等能力。除此之外還有完善的研發(fā)效能平臺(tái)服務(wù)以及技術(shù)風(fēng)險(xiǎn)防控平臺(tái)。關(guān)于這部分內(nèi)容,在本次下午場會(huì)有更詳細(xì)的介紹和體驗(yàn)。

Let's get started

剛聊了這么多,大家是不是想動(dòng)手試試了呢?本次 Demo 將帶領(lǐng)大家綜合利用開源版本的 SOFAStack 和云上產(chǎn)品,五小時(shí)實(shí)現(xiàn)一個(gè)在線電商平臺(tái)。

下面簡單介紹下本次 Workshop 的內(nèi)容,如下圖:

五小時(shí)構(gòu)建云原生電商平臺(tái) | KubeCon SOFAStack Workshop 詳解

上午

  • 構(gòu)建基礎(chǔ)電商平臺(tái)(書店) ,并改造為微服務(wù)架構(gòu);
  • 基于 SOFABoot 動(dòng)態(tài)模塊能力實(shí)時(shí)的電商平臺(tái)(書店)增加智能推薦的能力;
  • 用分布式事務(wù) Seata 來解決微服務(wù)拆分后的分布式事務(wù)的問題,保證購買和余額的數(shù)據(jù)一致性。

下午

  • 通過 Serverless 快速上云,利用 SOFA SAS 發(fā)布書店到云環(huán)境上,根據(jù)流量自動(dòng)擴(kuò)縮容;
  • 通過 Service Mesh 的方式來實(shí)現(xiàn)精度灰度和流控的能力。

五小時(shí)構(gòu)建云原生電商平臺(tái) | KubeCon SOFAStack Workshop 詳解

這是提到的是在線書店的系統(tǒng)架構(gòu)圖,最上面是部署好的一些基礎(chǔ)設(shè)施,包括注冊(cè)中心 SOFARegistry,服務(wù)管控臺(tái) SOFADashboard,監(jiān)控度量 SOFALookout 等,我們已經(jīng)提前準(zhǔn)備好了這部分內(nèi)容。

下面就是業(yè)務(wù)的內(nèi)容。為了方便,我們不再做前后端分類部署,本次大家只需要操作 2 個(gè)應(yīng)用:左邊是網(wǎng)頁系統(tǒng)和庫存系統(tǒng),提供庫存操作服務(wù),右邊是賬務(wù)系統(tǒng),提供余額相關(guān)服務(wù)。當(dāng)用戶的購買請(qǐng)求進(jìn)來時(shí),庫存系統(tǒng)需要通過 RPC 遠(yuǎn)程調(diào)用到賬務(wù)系統(tǒng)。

另外庫存服務(wù)和余額服務(wù)分別對(duì)應(yīng)的是獨(dú)立的數(shù)據(jù)庫,這個(gè)后面會(huì)用分布式事務(wù)框架 Seata 去解決分布式下數(shù)據(jù)一致性的問題。

SOFAStack Cloud Native Workshop 文檔地址

五小時(shí)構(gòu)建云原生電商平臺(tái) | KubeCon SOFAStack Workshop 詳解

本期 Workshop 用到的所有文檔目前都在 SOFAStack 官網(wǎng)上,大家訪問后看到導(dǎo)航欄有一個(gè) 【指南】 ,即可根據(jù)文檔進(jìn)行操作。

本期所有相關(guān)  PPT 下載地址 在對(duì)應(yīng)【指南】底部。

SOFAStack 官網(wǎng): https://www.sofastack.tech

特別鳴謝

本次我們準(zhǔn)備了《未來架構(gòu)》簽名書作為禮品,非常感謝四位作者到現(xiàn)場支持。

五小時(shí)構(gòu)建云原生電商平臺(tái) | KubeCon SOFAStack Workshop 詳解

別忘了 Star 我們:

https://github.com/sofastack

希望和我們一起玩的開心


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI