真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

大型電商系統(tǒng)架構(gòu)的微服務(wù)與敏捷開發(fā)實踐方法教程

大型電商系統(tǒng)架構(gòu)的微服務(wù)與敏捷開發(fā)實踐方法教程,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(創(chuàng)新互聯(lián)公司).為客戶提供專業(yè)的四川樂山服務(wù)器托管,四川各地服務(wù)器托管,四川樂山服務(wù)器托管、多線服務(wù)器托管.托管咨詢專線:13518219792

       Java電商系統(tǒng)的架構(gòu)10年前還是SSH的天下,那時候基本都是采用Strurt + Spring + Hibernate/Mybatis這些當(dāng)時當(dāng)時最流行技術(shù)來構(gòu)建。但是這個世界沒有一招鮮的事情, IT技術(shù)的發(fā)展比其他行業(yè)都要快, 新舊知識的迭代特別快,很多流行的技術(shù)就只是流行一段時間又快速的凋零,導(dǎo)致系統(tǒng)要不斷的更新其技術(shù)體系以保證其技術(shù)的先進性。由于舊知識很快要過保質(zhì)期,導(dǎo)致很多IT人員要不斷的積累和學(xué)習(xí)新的知識,稍有松懈馬上就會遇到中年危機。 中年危機的本質(zhì)是由于身體、家庭的原因?qū)е聦W(xué)習(xí)新知識的速度和意愿都下降了, 知識積累的速度和范圍跟不上時代的發(fā)展,所以很多IT從業(yè)人員在35-40歲就要被迫離開這個行業(yè)了。這個是很殘酷的話題,但是正因為這個行業(yè)發(fā)展比較快,所以才給新人帶來各種機會,給小公司帶來彎道超車并成功的可能,只要抓住一個點不斷的發(fā)力去打磨,就算是大公司再多的資本也是無法應(yīng)對,因為那個突破點太多了,不可能每個點都能面面俱到。資源投入到那個方向和執(zhí)行力如何決定了一家公司的高度。

      以上說明了信息科技這個行業(yè),變化是唯一不變的真理。我們能做的只是不斷的擁抱變化, 想要一勞永逸、一夜暴富的心態(tài)還是要不得。

      言歸正傳,在互聯(lián)網(wǎng)產(chǎn)業(yè)飛速變革的今天,系統(tǒng)的架構(gòu)也要不斷的發(fā)展,才能發(fā)揮更好的開發(fā)效率。一般的系統(tǒng)會經(jīng)歷了以下幾個階段的架構(gòu)變化。

  1. 標準的SSH的單體應(yīng)用, 一個war包打天下,所有的功能都放在一個應(yīng)用里,這種做法部署和集群部署都比較容易,成本低;

  2. 按功能垂直劃分的多個子應(yīng)用,多個war包一起部署,組成一個完整的系統(tǒng)。這種做法靈活度有所提高, 可以按功能來劃分開發(fā)小組;

  3. 微服務(wù)系統(tǒng),目前比較流行的是采用spring cloud/dubbo這些微服務(wù)框架做前后端的分離開發(fā)模式。橫向把前端和后端從人員架構(gòu)上分離開來,用于減少對人員的綜合素質(zhì)要求?,F(xiàn)在前端的技術(shù)發(fā)展日新月異,已經(jīng)很難做到一個人能做到前后端通吃,前端包括IOS、Android、WAP、各種小程序等, 所有前端都要共用同一套后臺接口,后端的開發(fā)同事只要提供RESTFUL風(fēng)格的接口,通過swagger等技術(shù)手段把接口暴露給前端調(diào)用即可。

       從一個普通SSH/SSM架構(gòu)的系統(tǒng)升級上來到底是spring cloud更合適還是dubbo更合適呢? 因為dubbo曾經(jīng)停止更新過一段時間,因此目前收到的反饋是大多數(shù)公司都會優(yōu)先選擇spring cloud,但是在實踐的過程又發(fā)現(xiàn)在原有的系統(tǒng)上升級上來的話采用dubbo會更容易修改,但是新系統(tǒng)的話還是會優(yōu)先選擇采用spring cloud,因為spring cloud的生態(tài)更加完善。但是阿里最近又在重新維護dubbo,并且新開源了一套叫spring cloud alibaba的開源微服務(wù)產(chǎn)品,Spring Cloud Alibaba和Spring Cloud的關(guān)系是怎么樣的呢? Spring Cloud Alibaba(以下簡稱SCA)和Spring Cloud Netflix(以下簡稱SCN)一樣,都是Spring Cloud規(guī)范的一套實現(xiàn)??匆幌滤麄冎g的差異:

大型電商系統(tǒng)架構(gòu)的微服務(wù)與敏捷開發(fā)實踐方法教程

       可見這2套系統(tǒng)的原理都一樣的, 阿里巴巴的版本想要通過利用spring cloud的生態(tài)來拉攏spring cloud的程序員,有點師夷長技以制夷的味道。這個版本提供了一個比較好用的配置中心、注冊中心Nacos和熔斷器Sentinel, 這些組件能同時兼容spring cloud和dubbo, 為spring cloud和dubbo的融合和同時使用提供了便利性, 而且比以前的組件更強大和更容易使用了。

  1. 體系架構(gòu)

         總結(jié)以上的分析,以下是朗尊軟件的架構(gòu)師何文強所帶來的技術(shù)分享。以LegendShop電商系統(tǒng)為例, 先看一下整體的解決方案:

大型電商系統(tǒng)架構(gòu)的微服務(wù)與敏捷開發(fā)實踐方法教程

結(jié)合圖中所示,下面是這套電商系統(tǒng)所采用的技術(shù)的主要的技術(shù)棧。

大型電商系統(tǒng)架構(gòu)的微服務(wù)與敏捷開發(fā)實踐方法教程

  1. 通過 API 的設(shè)計解耦,把整個系統(tǒng)根據(jù)業(yè)務(wù)拆分成若干個子系統(tǒng)或微服務(wù)

               客戶端通過API gateway來訪問內(nèi)部的應(yīng)用, 通過gateway來實現(xiàn)黑白名單,路由控制,權(quán)限控制等。一個后臺可以同時支持多個客戶端。

    2. 每個子系統(tǒng)可以部署多個應(yīng)用,多個應(yīng)用之間使用負載均衡

              每個服務(wù)會占用一個端口,同一個服務(wù)可以啟動多個實例。

    3.  服務(wù)注冊中心和配置中心都采用Nacos,所有的服務(wù)都在注冊中心注冊,負載均衡也是通過在注冊中心注冊的服務(wù)來使用一定策略來實現(xiàn),以下是Nacos的截圖。

大型電商系統(tǒng)架構(gòu)的微服務(wù)與敏捷開發(fā)實踐方法教程

    4.   使用 OAuth3 認證完善外部交互的安全機制

     客戶端在調(diào)用gateway或者內(nèi)部API的時候需要系統(tǒng)授權(quán)才行,要不就無法保證系統(tǒng)安全。本方案采用Oauth3進行權(quán)限驗證, 每個調(diào)用方都會分配一個appId和secretKey, 用戶調(diào)用API之前需要用appId和secretKey來換取合法的token,然后通過token來訪問系統(tǒng)的功能。OAuth3 是為用戶資源的授權(quán)提供的一個安全、開放、簡易的標準協(xié)議。OAuth3 的授權(quán)不會使第三方觸及到用戶的帳號信息,非常安全。而且任何第三方都可以使用 OAuth3 認證服務(wù),在這套架構(gòu)里,每一次來自外部的對微服務(wù)的請求,都要通過 OAuth3 服務(wù)器驗證。OAuth3 在此統(tǒng)一了眾多微服務(wù)的安全機制,并且將安全做到了微服務(wù)級別而不是網(wǎng)關(guān)級別。

   2. 敏捷開發(fā)

        關(guān)于敏捷開發(fā),不得不提的是DevOps(Development和Operations的組合詞)。從百度得來的定義,DevOps是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進開發(fā)(應(yīng)用程序/軟件工程)、技術(shù)運營和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合。它是一種重視“軟件開發(fā)人員(Dev)”和“IT運維技術(shù)人員(Ops)”之間溝通合作的文化、運動或慣例。透過自動化“軟件交付”和“架構(gòu)變更”的流程,來使得構(gòu)建、測試、發(fā)布軟件能夠更加地快捷、頻繁和可靠。它的出現(xiàn)是由于軟件行業(yè)日益清晰地認識到:為了按時交付軟件產(chǎn)品和服務(wù),開發(fā)和運維工作必須緊密合作。

  2.1 版本控制

       開發(fā)這塊目前是使用git來做版本控制,git的基本用法遵循以下的原則進行裁剪。

大型電商系統(tǒng)架構(gòu)的微服務(wù)與敏捷開發(fā)實踐方法教程

Master和develop分支是長期存在的分支,如果有bug出現(xiàn)的話就從打bug分支修改完再合并到develop分支。再由develop分支合并到master分支上,最后出版本從master版本上獲取代碼即可。

2.2 持續(xù)集成

     另外一個持續(xù)集成的工具優(yōu)先采用Jenkins,其截圖如下:

大型電商系統(tǒng)架構(gòu)的微服務(wù)與敏捷開發(fā)實踐方法教程

Jenkins是一個功能強大的應(yīng)用程序,允許持續(xù)集成和持續(xù)交付項目,無論用的是什么平臺。這是一個免費的源代碼,可以處理任何類型的構(gòu)建或持續(xù)集成。集成Jenkins可以用于一些測試和部署技術(shù)。Jenkins是一種軟件允許持續(xù)集成。

大型電商系統(tǒng)架構(gòu)的微服務(wù)與敏捷開發(fā)實踐方法教程

Jenkins跟git/svn等這些代碼管理工具緊密工作,方便整個開發(fā)和部署。

2.3 Docker部署

由于微服務(wù)會分成比較多的獨立運行的系統(tǒng), 如果都是手工部署的話,會比較繁瑣。因此不利于系統(tǒng)的長期穩(wěn)定發(fā)展,采用Docker安裝的話,會化簡整個部署的步驟,并且提高了系統(tǒng)的安全性。系統(tǒng)部署的結(jié)構(gòu)如下:

  大型電商系統(tǒng)架構(gòu)的微服務(wù)與敏捷開發(fā)實踐方法教程

      每個微服務(wù)都是獨立運行的一個子系統(tǒng)。

    從百度得知,Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的鏡像中,然后發(fā)布到任何流行的 Linux或Windows 機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。 實踐中會發(fā)現(xiàn),生產(chǎn)環(huán)境中使用單個 Docker 節(jié)點是遠遠不夠的,搭建 Docker 集群勢在必行。然而,面對 Kubernetes, Mesos 以及 Swarm 等眾多容器集群系統(tǒng),我們該如何選擇呢?它們之中,Swarm 是 Docker 原生的,同時也是最簡單,最易學(xué),最節(jié)省資源的,因此把Swarm作為系統(tǒng)的集群部署的解決方案。

Docker容器應(yīng)用的開發(fā)和運行離不開可靠的鏡像管理,雖然Docker官方也提供了公共的鏡像倉庫,但是從安全和效率等方面考慮,部署我們私有環(huán)境內(nèi)的Registry也是非常必要的。Harbor是由VMware公司開源的企業(yè)級的Docker Registry管理項目,它包括權(quán)限管理(RBAC)、LDAP、日志審核、管理界面、自我注冊、鏡像復(fù)制和中文支持等功能。

       采用Docker部署各種常規(guī)應(yīng)用非常簡單, 只要一條命令或者一個yml文件即可。由于本文不是重點講解如何使用Docker,因此一筆帶過,請參考筆者其他的關(guān)于如何安裝Docker,Docker-compose、 Docker-swarm的文章。

  1. 總結(jié)

        系統(tǒng)的升級和優(yōu)化永無止境,只能根據(jù)實際情況不斷的調(diào)整和優(yōu)化。微服務(wù)帶來的好處是能將系統(tǒng)細分為不同的子模塊, 適合中大型的系統(tǒng)開發(fā)。因為電商系統(tǒng)是跟客戶打交道的銷售型系統(tǒng),這個行業(yè)性質(zhì)跟企業(yè)內(nèi)部使用的系統(tǒng)不一樣,決定了電商系統(tǒng)要做強做大的話,客戶量會有數(shù)個數(shù)量級的差別。而且客戶會提出各種各樣的需求,功能和界面也要跟著節(jié)日或者潮流來變化。所以這個微服務(wù)版本是針對多金客戶來使用比較合適,服務(wù)器和人力的消耗都比較多。 有些客戶一上來就說我要做一個淘寶,做一個京東,我要分表分庫。拜托,還是理智一點好。 不過微服務(wù)版本的電商系統(tǒng)也給了客戶一個能做夢的基礎(chǔ)。

        將來的10年是傳統(tǒng)線下行業(yè)向線上滲透的年代。對一般的中小型客戶使用集群版本就可以了。再小一點我只要做生意賣貨而已, 沒有什么特殊的需求,那就采用SAAS版本就好了。SAAS + PASS才是將來發(fā)展的道路, 畢竟專人做專事。

關(guān)于大型電商系統(tǒng)架構(gòu)的微服務(wù)與敏捷開發(fā)實踐方法教程問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


分享題目:大型電商系統(tǒng)架構(gòu)的微服務(wù)與敏捷開發(fā)實踐方法教程
瀏覽地址:http://weahome.cn/article/pcsocp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部