久久久人妻在线无码视频_717电影网午夜福利理论_性一交一乱一交A片免费看_久久久久久久久久小说色

熱門(mén)系統(tǒng)產(chǎn)品
電商交易類產(chǎn)品
渠道/經(jīng)銷商產(chǎn)品
AI人工智能產(chǎn)品
業(yè)務(wù)協(xié)同系統(tǒng)產(chǎn)品
其他產(chǎn)品與服務(wù)
沒(méi)有你合適的?
我要定制 >
AI智能合同審核系統(tǒng)
AI智能合同審核系統(tǒng)
應(yīng)用場(chǎng)景廣泛,適用于商業(yè)合同、采購(gòu)合同、合作協(xié)議等多種場(chǎng)景
AI智能標(biāo)書(shū)系統(tǒng)
AI智能標(biāo)書(shū)系統(tǒng)
AI智能寫(xiě)作,標(biāo)書(shū)全流程管理,多行業(yè)場(chǎng)景適配
AI智能客服系統(tǒng)
AI智能客服系統(tǒng)
AI智能應(yīng)答,全渠道管理,情感交互,知識(shí)庫(kù)迭代
AI智能電商財(cái)務(wù)分析系統(tǒng)
AI智能電商財(cái)務(wù)分析系統(tǒng)
智能財(cái)務(wù)對(duì)賬,全渠道數(shù)據(jù)治理,業(yè)財(cái)一體化管理,動(dòng)態(tài)決策支持
AI商城系統(tǒng)
AI商城系統(tǒng)
AI驅(qū)動(dòng)決策,全渠道智能融合,數(shù)據(jù)驅(qū)動(dòng)精細(xì)化運(yùn)營(yíng)
B2B智能體開(kāi)發(fā)平臺(tái)
B2B智能體開(kāi)發(fā)平臺(tái)
低代碼智能體構(gòu)建,B2B交易流程自動(dòng)化,企業(yè)級(jí)系統(tǒng)無(wú)縫集成
智能電商對(duì)賬系統(tǒng)
智能電商對(duì)賬系統(tǒng)
全流程自動(dòng)化對(duì)賬,多平臺(tái)數(shù)據(jù)智能整合,實(shí)時(shí)差異預(yù)警追蹤,智能風(fēng)控合規(guī)引擎
AI智能下單系統(tǒng)
AI智能下單系統(tǒng)
AI智能決策引擎,全鏈路自動(dòng)化交易,多端無(wú)縫協(xié)同,動(dòng)態(tài)庫(kù)存實(shí)時(shí)同步
電商AI智能體開(kāi)發(fā)平臺(tái)
電商AI智能體開(kāi)發(fā)平臺(tái)
業(yè)務(wù)流程自動(dòng)化,智能客服,智能數(shù)據(jù)分析與決策
大模型訂貨平臺(tái)
大模型訂貨平臺(tái)
智能預(yù)測(cè),高效訂貨,數(shù)據(jù)驅(qū)動(dòng),客戶體驗(yàn)

電商項(xiàng)目的一般架構(gòu)

發(fā)布時(shí)間: 2018-10-26 文章分類: 技術(shù)干貨
閱讀量: 0

一、電商簡(jiǎn)介

“電商”一詞是業(yè)內(nèi)人士對(duì)電子商務(wù)的簡(jiǎn)稱。

廣義上講,電子商務(wù)指的是通過(guò)電子手段進(jìn)行的商業(yè)活動(dòng)。通過(guò)使用互聯(lián)網(wǎng)等電子工具,使公司內(nèi)部、供應(yīng)商、客戶和合作伙伴之間,利用電子業(yè)務(wù)進(jìn)行信息共享,實(shí)現(xiàn)企業(yè)間業(yè)務(wù)流程的電子化,配合企業(yè)內(nèi)部的電子化生產(chǎn)管理系統(tǒng),提高企業(yè)整體運(yùn)作的效率。

簡(jiǎn)單的說(shuō)就是企業(yè)利用電子信息在互聯(lián)網(wǎng)上進(jìn)行的一系列商務(wù)活動(dòng),就是電子商務(wù)。

最初的網(wǎng)上商城系統(tǒng)網(wǎng)站概念是由電子商務(wù)的先驅(qū)IBM(現(xiàn)在的關(guān)系型數(shù)據(jù)庫(kù)DB2就是這個(gè)公司的產(chǎn)品)公司于1996年提出電商的概念。我國(guó)在引進(jìn)這些概念的時(shí)候都翻譯成了電子商務(wù)。

電子商務(wù)商城系統(tǒng)模式,就是指在網(wǎng)絡(luò)環(huán)境中基于一定技術(shù)基礎(chǔ)的商務(wù)運(yùn)作方式和盈利模式。

目前主要的電子商務(wù)模式有:

1、傳統(tǒng)的電商模式;

2、B2B(Business to Business)企業(yè)與企業(yè)之間的電子商務(wù):

B2B電子商務(wù)是指以企業(yè)為主體,在企業(yè)之間進(jìn)行的電子商務(wù)活動(dòng)。指進(jìn)行商務(wù)交易的供需雙方都是商家(或企業(yè)、公司),她(他)們使用了Internet的技術(shù)或各種商務(wù)網(wǎng)絡(luò)平臺(tái),完成商務(wù)交易的過(guò)程。其代表是馬云的阿里巴巴電子商務(wù)模式。B2B電子商務(wù)將會(huì)為企業(yè)帶來(lái)更低的價(jià)格、更高的生產(chǎn)率和更低的勞動(dòng)成本以及更多的商業(yè)機(jī)會(huì)。

3、CtoC(Consumer to Consumer)消費(fèi)者與消費(fèi)者之間的電子商務(wù):

C2C是指消費(fèi)者與消費(fèi)者之間的互動(dòng)交易行為,這種交易方式是多變的。C2C商務(wù)平臺(tái)就是通過(guò)為買(mǎi)賣(mài)雙方提供一個(gè)在線交易平臺(tái),使賣(mài)方可以主動(dòng)提供商品上網(wǎng)拍賣(mài),而買(mǎi)方可以自行選擇商品進(jìn)行jingjia。其代表是淘寶的電子商務(wù)模式。

4、C2B(Consumer to Business)消費(fèi)者與企業(yè)之間的電子商務(wù):

C2B是商家通過(guò)網(wǎng)絡(luò)搜索合適的消費(fèi)者群,真正實(shí)現(xiàn)定制式消費(fèi)。

5、未來(lái)的F2C電商模式:產(chǎn)家-消費(fèi)者

產(chǎn)家按消費(fèi)者需求直接定制銷售,我認(rèn)為這應(yīng)該是一種趨勢(shì)吧。

6、B2C(Business to Customer)企業(yè)與消費(fèi)者之間的電子商務(wù)

B2C就是企業(yè)通過(guò)互聯(lián)網(wǎng)為消費(fèi)者提供一個(gè)新型的購(gòu)物環(huán)境——網(wǎng)上商店,消費(fèi)者通過(guò)網(wǎng)絡(luò)在網(wǎng)上購(gòu)物、在網(wǎng)上支付。比較有代表性的例如亞馬遜的電子商務(wù)模式。由于這種模式節(jié)省了客戶和企業(yè)的時(shí)間和空間,大大提高了交易效率,特別對(duì)于工作忙碌的上班族,這種模式可以為其節(jié)省寶貴的時(shí)間。

當(dāng)然還有其他模式,我就不一一講述了,你們可以查詢Google或者baidu,我們今天講的就是B2C模式下的網(wǎng)上商店的系統(tǒng)架構(gòu)。我今天所講的這個(gè)互聯(lián)網(wǎng)電商架構(gòu),并不是很全,更偏向于項(xiàng)目開(kāi)發(fā)和部署這一塊。

二、相關(guān)概念解釋

在講這個(gè)之前我先介紹一下系統(tǒng)前臺(tái)、系統(tǒng)后臺(tái)、服務(wù)器集群、分布式、maven、svn、失敗轉(zhuǎn)移和負(fù)載均衡的概念。

1.系統(tǒng)前臺(tái)

在這里我以我正在做的廣西移動(dòng)電子商城項(xiàng)目為例(進(jìn)行前臺(tái)演示)

系統(tǒng)前臺(tái)是面向網(wǎng)站訪問(wèn)用戶的,即給訪問(wèn)網(wǎng)站的用戶所展示的頁(yè)面,用戶可以通過(guò)系統(tǒng)前臺(tái)訂購(gòu)廣西移動(dòng)的終端營(yíng)銷案,然后通過(guò)用戶中心查看訂單狀態(tài)、修改個(gè)人相關(guān)資料等。

主要功能模塊包括商品類型、商品檢索、首頁(yè)-頻道頁(yè)-單品頁(yè)、營(yíng)銷專題、訂單支付、購(gòu)物流程、客戶中心、幫助中心;

2.系統(tǒng)后臺(tái)

在這里我也是以我正在做的廣西移動(dòng)電子商城項(xiàng)目為例

系統(tǒng)后臺(tái)是面向廣西移動(dòng)內(nèi)部人員,通過(guò)一系列功能方便其管理運(yùn)營(yíng)廣西移動(dòng)商城。主要功能包括商品管理、類目管理、營(yíng)銷案管理、訂單管理、供貨商管理、配送商管理、會(huì)員管理、倉(cāng)儲(chǔ)管理、對(duì)賬管理、互動(dòng)管理、權(quán)限管理;

3.業(yè)務(wù)拆分

一般的電商網(wǎng)站根據(jù)業(yè)務(wù)屬性可以劃分為產(chǎn)品子系統(tǒng),購(gòu)物子系統(tǒng),

支付子系統(tǒng),評(píng)論子系統(tǒng),客服子系統(tǒng),接口子系統(tǒng)(如短信等外部系統(tǒng))

根據(jù)這些子系統(tǒng)的重要性再劃分為核心系統(tǒng)和非核心系統(tǒng)。

如下圖:

電商項(xiàng)目的一般架構(gòu)

業(yè)務(wù)拆分的作用:

第一、分為子系統(tǒng),這樣每個(gè)子系統(tǒng)或者服務(wù)器都可以由專門(mén)的團(tuán)隊(duì)去負(fù)責(zé),解決模塊之間的耦合以及擴(kuò)展性問(wèn)題,即各個(gè)子系統(tǒng)都是相對(duì)獨(dú)立的。

第二、拆分成子系統(tǒng)后,每個(gè)子系統(tǒng)都是單獨(dú)部署在服務(wù)器上的,如果集中部署在一個(gè)服務(wù)器上,當(dāng)這臺(tái)服務(wù)器宕機(jī)了就會(huì)導(dǎo)致整個(gè)系統(tǒng)都不能使用。

4.服務(wù)器集群與分布式

分布式是指將拆分后的子系統(tǒng)模塊(業(yè)務(wù))分布在不同的服務(wù)器上,這就是通過(guò)提高單位時(shí)間內(nèi)處理業(yè)務(wù)的個(gè)數(shù)來(lái)提升效率;而集群指的是將幾臺(tái)服務(wù)器集中在一起,運(yùn)行同一個(gè)子系統(tǒng)模塊(業(yè)務(wù)),這就是通過(guò)提高單位時(shí)間內(nèi)某個(gè)業(yè)務(wù)功能模塊的執(zhí)行的任務(wù)數(shù)來(lái)提升效率。分布式中的每一個(gè)節(jié)點(diǎn)(拆分后的每個(gè)子系統(tǒng)模塊),都可以做集群。但是集群并不一定就是分布式的。

電商項(xiàng)目的一般架構(gòu)

簡(jiǎn)單說(shuō),分布式是以縮短單個(gè)任務(wù)的執(zhí)行時(shí)間來(lái)提升效率的,而集群則是通過(guò)提高單位時(shí)間內(nèi)執(zhí)行的任務(wù)數(shù)來(lái)提升效率。

5.maven構(gòu)建項(xiàng)目

Maven是一個(gè)采用純Java編寫(xiě)的開(kāi)源項(xiàng)目管理工具,Maven采用了一種被稱之為Project Object Model(POM)概念來(lái)管理項(xiàng)目,那么什么意思呢?POM指的是工程對(duì)象模型,即把工程當(dāng)做對(duì)象來(lái)進(jìn)行管理,所有的項(xiàng)目配置信息都被定義在一個(gè)叫做POM.xml的文件中,通過(guò)該文件Maven可以管理項(xiàng)目的整個(gè)生命周期,包括清除、編譯,測(cè)試,報(bào)告、打包war、部署等等。

使用maven構(gòu)建的項(xiàng)目有兩個(gè)特點(diǎn):

----依賴管理

簡(jiǎn)單點(diǎn)說(shuō)就是直接通過(guò)pom.xml配置文件把各個(gè)分散的項(xiàng)目自動(dòng)的關(guān)聯(lián)起來(lái),而不用我們程序員去手動(dòng)地管理和維護(hù)這些項(xiàng)目(包括jar)之間依賴,這就是maven的第一個(gè)特點(diǎn)依賴管理。(圖2)

----項(xiàng)目自動(dòng)構(gòu)建

項(xiàng)目構(gòu)建是部署階段的事,主要是指把開(kāi)發(fā)人員寫(xiě)好的代碼進(jìn)行打包(打成war,web項(xiàng)目只要打包成war包才能部署使用),當(dāng)然這個(gè)過(guò)程不僅僅只是一個(gè)打包,其中包含了清除,編譯,測(cè)試,報(bào)告,這個(gè)過(guò)程就是項(xiàng)目構(gòu)建過(guò)程。但是交給maven這些的動(dòng)作包括package,maven都自動(dòng)會(huì)幫你做好。而不用我們手動(dòng)去做,這就是maven項(xiàng)目的第二個(gè)特點(diǎn)項(xiàng)目自動(dòng)構(gòu)建。

先解決ABC三個(gè)模塊之間的依賴問(wèn)題,然后使用父工程統(tǒng)一管理和維護(hù)這ABC三個(gè)模塊(聚合),只要在對(duì)應(yīng)pom.xml文件中進(jìn)行配置就行,不需要我們手動(dòng)去維護(hù)這些關(guān)系。

電商項(xiàng)目的一般架構(gòu)

6.svn版本控制器

簡(jiǎn)單的說(shuō),就是管理我們寫(xiě)好的代碼的,開(kāi)發(fā)人員每寫(xiě)完一些代碼都要把代碼往這個(gè)svn服務(wù)器中上傳,然后其他開(kāi)發(fā)人員或者測(cè)試人員可以把代碼從svn服務(wù)器中拿到本地繼續(xù)開(kāi)發(fā)另一個(gè)模塊或者測(cè)試。

7.失敗轉(zhuǎn)移和負(fù)載均衡

失敗轉(zhuǎn)移:簡(jiǎn)單來(lái)說(shuō)就是一個(gè)集群中的某個(gè)服務(wù)器壞掉了,應(yīng)該讓該臺(tái)服務(wù)器上的用戶轉(zhuǎn)移到其它的幾臺(tái)服務(wù)器上,這個(gè)過(guò)程對(duì)用戶來(lái)說(shuō),無(wú)需知道。

負(fù)載均衡:簡(jiǎn)單來(lái)說(shuō)就是多個(gè)用戶來(lái)并發(fā)訪問(wèn)時(shí),集群內(nèi)的服務(wù)器共同承擔(dān)用戶并發(fā)訪問(wèn)的壓力,但不一定是平均分配。

上述二個(gè)概念,不光出現(xiàn)在WEB服務(wù)器領(lǐng)域,數(shù)據(jù)庫(kù)領(lǐng)域也是需要做失敗轉(zhuǎn)移和負(fù)載均衡的。

例如在oracle數(shù)據(jù)庫(kù)中

失敗轉(zhuǎn)移:一個(gè)群集中的某個(gè)oracle服務(wù)器壞掉,應(yīng)該讓該臺(tái)oracle服務(wù)器上的用戶轉(zhuǎn)移到其它的幾臺(tái)oracle服務(wù)器上。

負(fù)載平衡:多個(gè)用戶來(lái)并發(fā)訪問(wèn)時(shí),集群內(nèi)的oracle服務(wù)器共同承擔(dān)用戶并發(fā)訪問(wèn)的壓力,但不一定是平均分配。

接下里進(jìn)入正題:

三、項(xiàng)目開(kāi)發(fā)架構(gòu)

互聯(lián)網(wǎng)項(xiàng)目跟一般的web項(xiàng)目不一樣。

我們的整個(gè)系統(tǒng)分為前臺(tái)console(用戶訪問(wèn))和后臺(tái)(portal)(管理員管理),前臺(tái)是一個(gè)完整的系統(tǒng)(單個(gè)web項(xiàng)目),后臺(tái)也是一個(gè)完整的系統(tǒng)(單個(gè)web項(xiàng)目)。后臺(tái)我們叫console,前臺(tái)我們叫portal,一般項(xiàng)目的前后臺(tái)是放在一個(gè)web項(xiàng)目中的比如企業(yè)管理系統(tǒng),為什么互聯(lián)網(wǎng)項(xiàng)目的前后臺(tái)要分開(kāi)呢?這個(gè)都跟性能相關(guān),企業(yè)管理系統(tǒng)的用戶很少,但是互聯(lián)網(wǎng)電商系統(tǒng)就不一樣了。

首先互聯(lián)網(wǎng)中用戶分為兩大類:一類是互聯(lián)網(wǎng)用戶,訪問(wèn)我們的portal。還有一類是管理員,訪問(wèn)我們的后臺(tái)console。管理員和互聯(lián)網(wǎng)用戶是不能有沖突問(wèn)題的。

前后臺(tái)分開(kāi)原因:

互聯(lián)網(wǎng)用戶數(shù)量是很大的,但是如果前后臺(tái)放在一個(gè)系統(tǒng)中(一個(gè)web項(xiàng)目)中

那么勢(shì)必會(huì)對(duì)管理員造成很大的影響。

第一點(diǎn):----用戶數(shù)量很大,導(dǎo)致服務(wù)器宕機(jī)或者速度變慢,那么管理員也沒(méi)法操作了,這個(gè)耦合度太高了。

第二點(diǎn):----我們前臺(tái)是要做集群部署的,集群部署意味著我們的這個(gè)war包(前臺(tái)子系統(tǒng))是需要部署到多臺(tái)機(jī)器上的(每臺(tái)機(jī)器上都部署一個(gè)前臺(tái)子系統(tǒng)),互聯(lián)網(wǎng)用戶訪問(wèn)的不一定是哪臺(tái)機(jī)器,因?yàn)榛ヂ?lián)網(wǎng)用戶過(guò)多,所以我們使用集群以達(dá)到負(fù)載均衡(負(fù)載均衡指的是每臺(tái)機(jī)器都分擔(dān)一部分用戶訪問(wèn)壓力)的目地。而我們的后臺(tái)只是針對(duì)于管理員使用,所以后臺(tái)是沒(méi)有這個(gè)需求去做集群部署的。

第三點(diǎn):----我們的前臺(tái)是需要給互聯(lián)網(wǎng)用戶使用的,即項(xiàng)目是要發(fā)布到外網(wǎng)上的,而我們的后臺(tái)只供管理員使用,只要在內(nèi)網(wǎng)中使用就行了,不需要發(fā)布到外網(wǎng)。

所以綜上所述,在互聯(lián)網(wǎng)項(xiàng)目中我們是需要把互聯(lián)網(wǎng)用戶訪問(wèn)的前臺(tái)和管理員使用的后臺(tái)分開(kāi)來(lái)的。

maven項(xiàng)目特點(diǎn):

1.依賴管理

console創(chuàng)建一個(gè)web工程,portal創(chuàng)建一個(gè)web工程,共用同一套數(shù)據(jù)庫(kù)。console端管理員添加商品到數(shù)據(jù)庫(kù)中,portal在數(shù)據(jù)庫(kù)中取出數(shù)據(jù)來(lái)進(jìn)行展示。當(dāng)然console端和portal端都可能會(huì)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行增刪改查,其中就會(huì)有許多兩方都重復(fù)的操作。比如都需要查詢商品列表。這些重復(fù)的操作(dao和service)都是需要抽取出來(lái)作為公用模塊的(不抽取的話寫(xiě)兩份沒(méi)有必要),那么怎么抽取呢?

那么在這里面,我們需要再創(chuàng)建一個(gè)java工程,把這些重復(fù)性的操作模塊都放在

這個(gè)java工程中,并且單獨(dú)部署在一臺(tái)服務(wù)器上(暫定為1臺(tái),實(shí)際上是要做集群的)。通過(guò)這個(gè)java工程和數(shù)據(jù)庫(kù)打交道。

那么我們的前臺(tái)和后臺(tái)兩個(gè)web項(xiàng)目都必須引用這個(gè)java工程來(lái)訪問(wèn)數(shù)據(jù)庫(kù)。

那么console的web項(xiàng)目和java工程項(xiàng)目,以及portal的web項(xiàng)目和java工程項(xiàng)目到底是如何關(guān)聯(lián)的呢?

那么這就涉及到了我們maven里面的重要知識(shí)點(diǎn),即依賴。java工程被console工程依賴,同時(shí)也被portal工程依賴。我們的java工程是可以打包成jar,只要我們把打成的jar放到console項(xiàng)目和portal項(xiàng)目中,就解決了這個(gè)依賴問(wèn)題。但是這種拷貝的方式顯然是過(guò)于笨重。我們顯然可以使用另一種方式即maven的依賴管理,使用maven的依賴管理功能我們就不用自己把java工程打成jar拷貝到那兩個(gè)項(xiàng)目中了。

解決了公共模塊的抽取問(wèn)題之后,我們接下來(lái)還要構(gòu)建一個(gè)文件服務(wù)器,一般項(xiàng)目文件上傳都是直接上傳到console端的,如果上傳到console中,那么我們的portal如何取出console端的圖片等資源進(jìn)行展示啊。你要讓portal去訪問(wèn)console嗎?這顯然不現(xiàn)實(shí),不然管理員后臺(tái)又要承受龐大的訪問(wèn)量,導(dǎo)致速度變慢甚至宕機(jī)。所以我們要再搭建一個(gè)文件服務(wù)器(創(chuàng)建一個(gè)file web項(xiàng)目)。

那么console只要負(fù)責(zé)傳圖片到file服務(wù)器中,portal直接到file服務(wù)器中請(qǐng)求圖片就行了。這樣我們目前就有四個(gè)模塊了,這四個(gè)模塊就是我們拆分成的子系統(tǒng),分別部署在四種(根據(jù)模塊重要性差異分配不同性能的服務(wù)器)不同的服務(wù)器上,這就是分布式部署。四種服務(wù)器每一種都有若干臺(tái)相同的服務(wù)器,這就是集群部署。

但是我們目前這四個(gè)模塊是散的,所以我們還需要?jiǎng)?chuàng)建一個(gè)pom(pom指的是工程對(duì)象模型,即這個(gè)pom web工程可以把散的四個(gè)工程分別當(dāng)做對(duì)象來(lái)進(jìn)行管理)項(xiàng)目(父工程),使用父工程web項(xiàng)目去管理這個(gè)四個(gè)散的模塊使他們有機(jī)結(jié)合起來(lái),能夠相互調(diào)用并且進(jìn)行信息交互。這個(gè)pom父工程除了管理這四個(gè)模塊并沒(méi)有其他功能。

電商項(xiàng)目的一般架構(gòu)

Maven項(xiàng)目的第二個(gè)特點(diǎn):

2.項(xiàng)目構(gòu)建clean---->compile--->test---->package

我們以后到公司上屬于開(kāi)發(fā)人員,假如你是測(cè)試人員,別人已經(jīng)把代碼寫(xiě)好了,那么你接下來(lái)怎么測(cè)試啊?首先我們開(kāi)發(fā)人員把代碼寫(xiě)好后要提交給svn(版本控制服務(wù)器上)接下里測(cè)試人員要把代碼拿(check out)到測(cè)試主機(jī)中。在這臺(tái)測(cè)試主機(jī),我們要安裝跟線上環(huán)境一致的軟件。例如:linux,jdk,svn(客戶端),maven,商用服務(wù)器以及hudson(項(xiàng)目持續(xù)構(gòu)建工具,下面再解釋),CRT。代碼拿下來(lái)以后先編譯,然后打成war包。一定要我們自己拿下來(lái),編譯和打包嗎?不是的,這時(shí)候我們就可以使用maven的項(xiàng)目構(gòu)建直接幫我們把代碼從svn拿下來(lái)編譯打成war。命令:mvn clean package。當(dāng)然中間還有compile編譯和test測(cè)試環(huán)節(jié)這些maven自動(dòng)幫我們做了。所以只要寫(xiě)mvn clean package就行了。從代碼到war的過(guò)程就是項(xiàng)目構(gòu)建過(guò)程

這不是開(kāi)發(fā)時(shí)候的事,而是部署的時(shí)候的事。

/*

代碼打成war的要求:

----項(xiàng)目的目錄必須符合maven項(xiàng)目的規(guī)范

--src

-----main

----------java--用來(lái)存放Java文件

----------resources--用來(lái)存放資源文件

-----test

---------java--用來(lái)存放測(cè)試的Java文件

---------resources

--target--項(xiàng)目輸出位置,編譯完畢后自動(dòng)生成

--pom.xml

*/

電商項(xiàng)目的一般架構(gòu)

四、項(xiàng)目部署

代碼寫(xiě)完了,部署的時(shí)候代碼有些地方還是需要要改動(dòng)的。

----開(kāi)發(fā)完了以后提交代碼到版本控制服務(wù)器svn中。

----代碼提交完成之后,由測(cè)試人員從版本控制器中下到本地主機(jī)中,打包進(jìn)行測(cè)試

--我們這邊使用hudson持續(xù)構(gòu)建工具,它能夠跟svn,maven,jdk做一個(gè)整合

整合之后,我們做項(xiàng)目構(gòu)建的話更簡(jiǎn)單,直接package(打成)war包,而不需要測(cè)試人員去下代碼(這里跟svn做了整合),然后自己打包(因?yàn)楦鷐aven做了整合)。

--hudson有兩種版本,一種是以war包形式存在的,一種是以jnt內(nèi)置服務(wù)器的形式存在的

hudson以web瀏覽器的形式訪問(wèn)的,然后在網(wǎng)頁(yè)上進(jìn)行項(xiàng)目任務(wù)的構(gòu)建。

--使用hudson構(gòu)建完任務(wù)之后,把生成的可部署的war包扔到我們的商用服務(wù)器(商用服務(wù)器是項(xiàng)目最終的運(yùn)行環(huán)境,測(cè)試必須放在實(shí)際運(yùn)行環(huán)境中)中由測(cè)試人員進(jìn)行測(cè)試,這里需要注意測(cè)試的oracle數(shù)據(jù)庫(kù)和開(kāi)發(fā)的oracle數(shù)據(jù)庫(kù)是不一樣的,如果都一樣的話,開(kāi)發(fā)人員的數(shù)據(jù)庫(kù)數(shù)據(jù)是會(huì)變的,而測(cè)試人員需要的是不能變動(dòng)的數(shù)據(jù),所以測(cè)試人員就沒(méi)法測(cè)試了。

----構(gòu)建項(xiàng)目之后進(jìn)行實(shí)際部署

電商項(xiàng)目的一般架構(gòu)

--后臺(tái)(console)部署的話使用單機(jī)模式就行了,即只需要一臺(tái)主機(jī),因?yàn)楹笈_(tái)本身用戶量就不會(huì)有多大,都是管理人員,既然用戶量不大的話這個(gè)并發(fā)量就更小了,充其量達(dá)到一百就不錯(cuò)了。

主要是前臺(tái)(portal),前臺(tái)的用戶訪問(wèn)量是非常大的。

--前臺(tái)(portal)是互聯(lián)網(wǎng)用戶訪問(wèn)的,所以并發(fā)量會(huì)很大,所以要考慮你這個(gè)服務(wù)器對(duì)于并發(fā)量的支持問(wèn)題。

所以前臺(tái)部署到單個(gè)服務(wù)器上是不夠的,單個(gè)服務(wù)器支持的并發(fā)量是非常有限的,所以我們這邊就要求后臺(tái)做集群部署(上面講過(guò))。

我們這邊舉個(gè)例子,比如三臺(tái)服務(wù)器,分別放著前臺(tái)(portal)做集群,那么這三臺(tái)服務(wù)器的ip是不一樣的,分別為192.168.1.102,192.168.1.103,192.168.1.104。這里注意了,我們的服務(wù)器一般都使用linux或者unix系統(tǒng)的。以上三臺(tái)服務(wù)器的三個(gè)ip都是內(nèi)網(wǎng)ip。那么有些人就奇怪了,內(nèi)網(wǎng)的東西如果被外網(wǎng)訪問(wèn)到,這里我們?cè)谥v一下反向代理的概念。首先解釋一下什么叫代理,代理是什么,代理就是有人替你做些事情,比如中介,也是代理啊。

代理分為正向代理和反向代理。

正向代理:我們從內(nèi)網(wǎng)訪問(wèn)外網(wǎng)所經(jīng)過(guò)的代理服務(wù)器,我們使用ipconfig查看到的一般是內(nèi)網(wǎng)ip,但是我們從內(nèi)網(wǎng)訪問(wèn)外網(wǎng)的話是需要代理服務(wù)器的。但是我們現(xiàn)在的情況是要讓外網(wǎng)的互聯(lián)網(wǎng)用戶訪問(wèn)到我們內(nèi)網(wǎng)的服務(wù)器,那么外網(wǎng)直接訪問(wèn)內(nèi)網(wǎng)是無(wú)法訪問(wèn)的。這時(shí)候就需要借助代理服務(wù)器,得通過(guò)代理服務(wù)器為我們做一個(gè)代理,通過(guò)代理服務(wù)器去訪問(wèn)內(nèi)網(wǎng),這就是反向代理。即反向代理就是讓外網(wǎng)訪問(wèn)內(nèi)網(wǎng)的。如果現(xiàn)在我們的三臺(tái)服務(wù)器是外網(wǎng)ip的話,我們直接就可以訪問(wèn)了,多方便,那為什么要使用內(nèi)網(wǎng)ip呢?因?yàn)閷?duì)于我們服務(wù)器的安全性大大提高了,不會(huì)輕易被攻擊。那么這臺(tái)代理服務(wù)器的ip肯定是外網(wǎng)ip。

正向代理:從內(nèi)網(wǎng)訪問(wèn)外網(wǎng)所經(jīng)過(guò)的代理服務(wù)器

反向代理:從外網(wǎng)訪問(wèn)內(nèi)網(wǎng)所經(jīng)過(guò)的代理服務(wù)器

現(xiàn)在我們?cè)谑忻嫔嫌玫姆聪虼矸?wù)器有Apache的HTTP服務(wù)器

但是現(xiàn)在還有一個(gè)非?;鸬?,如日中天的一個(gè)服務(wù)器,即NGINX,這個(gè)服務(wù)器現(xiàn)在也在大量的使用,因?yàn)檫@個(gè)服務(wù)器的性能非常高,支持的并發(fā)量也很大。現(xiàn)在很多互聯(lián)網(wǎng)項(xiàng)目都是用nginx,官方發(fā)布數(shù)據(jù)是三臺(tái)nginx在一瞬間能夠支撐5萬(wàn)的并發(fā)量但實(shí)際只能夠支撐2萬(wàn)。

nginx服務(wù)器有兩種能力,第一種就是反向代理,剛才已經(jīng)講過(guò)了。第二種是負(fù)載均衡的能力。第三種是靜態(tài)文件處理能力,這個(gè)我們接下來(lái)具體講解。

我們來(lái)看一下我們的部署圖,我們圖中的nginx起到一個(gè)反向代理的作用,這是他的一個(gè)特點(diǎn)。那么接下來(lái)就是nginx負(fù)載均衡的能力。

當(dāng)互聯(lián)網(wǎng)中的請(qǐng)求來(lái)的時(shí)候,我們可以配置規(guī)則,即我們服務(wù)器只接收.do或者.html等以其他后綴結(jié)尾的請(qǐng)求。當(dāng)一個(gè).do請(qǐng)求過(guò)來(lái)之后,nginx給你攔截下來(lái),攔截下來(lái)之后,他自己并不去處理這個(gè)請(qǐng)求,而是幫你轉(zhuǎn)發(fā)到后臺(tái)集群的這幾臺(tái)服務(wù)器上,那么到底轉(zhuǎn)發(fā)到哪臺(tái)呢,那么可以在nginx上做一些配置,即做一些權(quán)重的配置。

什么叫權(quán)重呢?就是給我們這里的三臺(tái)服務(wù)器分配不同的壓力

比如,給第一臺(tái)分配30%的壓力,給第二臺(tái)分配50%的壓力,給第三臺(tái)分配20%的壓力,具體得看你這三臺(tái)服務(wù)器的配置所支持的能力,如果他們的配置都是差不多的話,你可以平均分配壓力。

這邊nginx也很智能,他不會(huì)把所有請(qǐng)求都分擔(dān)在一臺(tái)機(jī)器上。如果說(shuō)都分配在一臺(tái)服務(wù)器上,而另外兩臺(tái)閑置,這就是明顯的分配不均。這就是nginx支持集群并且能夠做負(fù)載均衡的能力。我們?cè)谑褂胣ginx做集群和負(fù)載均衡之前使用的原始方法是DNS輪詢,DNS輪詢也能起到一個(gè)集群作用,但是無(wú)法做到負(fù)載均衡。DNS老早之前已經(jīng)被淘汰了,為什么呢,就是因?yàn)橐驗(yàn)镈NS輪詢會(huì)導(dǎo)致分配不均,分配不均的話就會(huì)導(dǎo)致一臺(tái)機(jī)器壓力很大,其他機(jī)器閑置,明顯沒(méi)有起到負(fù)載均衡的作用

nginx主要就是在服務(wù)器集群的基礎(chǔ)之上起到負(fù)載均衡的作用,讓用戶訪問(wèn)夜里平均分配到這些服務(wù)器上來(lái),這樣的話我們后臺(tái)的處理能力明顯得就提升上來(lái)了。那么實(shí)際上在nginx前端還有一個(gè)東西叫F5,他是一個(gè)硬件的負(fù)載均衡器,這個(gè)硬件負(fù)載均衡器能夠支持非常大的并發(fā)量,互聯(lián)網(wǎng)用戶只要訪問(wèn)F5這一個(gè)就行了,那么在F5上把請(qǐng)求往nginx上分發(fā),但是F5價(jià)錢(qián)不菲,幾十萬(wàn)到幾百萬(wàn)之間。但是我們這邊不使用F5直接訪問(wèn)nginx也是可以的,但是有一個(gè)問(wèn)題叫三點(diǎn)故障問(wèn)題,即如果我們部署nginx服務(wù)器的這臺(tái)機(jī)器宕機(jī)了,那么就沒(méi)法訪問(wèn)我們的后面的三臺(tái)服務(wù)器了。相當(dāng)于nginx是一扇大門(mén)一樣,門(mén)關(guān)了,外面的人也就沒(méi)法進(jìn)來(lái)了。

我們很容想到,可以多部署幾臺(tái)nginx服務(wù)器嘛,是的,在大型的互聯(lián)網(wǎng)項(xiàng)目中,一般nginx都有兩臺(tái),即雙機(jī)模式,但是用戶進(jìn)來(lái)之后該訪問(wèn)哪臺(tái)呢?這就要我們使用F5做負(fù)載均衡,去管理這兩天nginx服務(wù)器,F(xiàn)5的負(fù)載均衡指的是對(duì)nginx的負(fù)載均衡即給nginx分配用戶訪問(wèn)壓力,這樣一來(lái)一臺(tái)nginx服務(wù)器出現(xiàn)故障了,F(xiàn)5還可以支配另一臺(tái)nginx服務(wù)器應(yīng)對(duì)用戶訪問(wèn),避免我們這里的三點(diǎn)故障即一臺(tái)nginx宕機(jī)了,整個(gè)項(xiàng)目就無(wú)法運(yùn)行了。所以使用F5對(duì)nginx做負(fù)載均衡,一臺(tái)nginx服務(wù)器宕機(jī)了還有另一個(gè)臺(tái)可以使用,這對(duì)于來(lái)訪問(wèn)互聯(lián)網(wǎng)用戶是沒(méi)有影響的,就不會(huì)出現(xiàn)問(wèn)題。F5是硬件負(fù)載均衡器穩(wěn)定性是很高的。

那么兩臺(tái)nginx做負(fù)載均衡,他有兩種策略。

1.其中有一臺(tái)作為備機(jī),只有當(dāng)另一臺(tái)運(yùn)作的機(jī)器出現(xiàn)故障了,那么這臺(tái)才啟用

2.兩臺(tái)機(jī)器都啟動(dòng),做負(fù)載均衡和反向代理。

我們還可以把后臺(tái)的一整個(gè)模塊拆分成幾個(gè)小模塊(war包),然后把每個(gè)小模塊分別部署到單個(gè)機(jī)器上(肯定不是單個(gè)機(jī)器上,這里是要做集群的),這就是分布式部署,然后通過(guò)另一臺(tái)備用的nginx為這幾個(gè)小模塊做負(fù)載均衡,不是備用的還是為原來(lái)的幾個(gè)整體的模塊做負(fù)載均衡。如果在某個(gè)時(shí)間,對(duì)這幾個(gè)拆分了的特定的小模塊業(yè)務(wù)訪問(wèn)量很大,就可以單獨(dú)訪問(wèn)備用的nginx服務(wù)器及其后面的web服務(wù)器。這樣的話,我們整個(gè)這樣的部署,就明顯分擔(dān)了更多的壓力了。

那么以上結(jié)構(gòu)有一個(gè)問(wèn)題:

模擬情景:某個(gè)用戶想要從我們這個(gè)網(wǎng)站下載資源,但是他必須先登錄。

所以用戶輸入信息點(diǎn)擊登錄之后,登錄請(qǐng)求就會(huì)通過(guò)F5硬件負(fù)載均衡器過(guò)來(lái)的,F(xiàn)5把請(qǐng)求交給其中一臺(tái)nginx,然后nginx再把請(qǐng)求發(fā)給我們的前臺(tái)服務(wù)器1。假設(shè)用戶通過(guò)校驗(yàn),那么這臺(tái)1服務(wù)器會(huì)產(chǎn)生一個(gè)session存儲(chǔ)該用戶的登錄信息,接下來(lái)該用戶就可以下載資源了,當(dāng)點(diǎn)擊下載的時(shí)候下載資源請(qǐng)求再次通過(guò)F5硬件負(fù)載均衡器過(guò)來(lái),F(xiàn)5把請(qǐng)求再分發(fā)給其中一臺(tái)nginx,但是1服務(wù)器已經(jīng)很忙了,所以這臺(tái)nginx把我們的下載請(qǐng)求交給了前臺(tái)服務(wù)器2處理,但是我們的前臺(tái)服務(wù)器2他并沒(méi)有存儲(chǔ)了該用戶信息的session,

當(dāng)服務(wù)器2收到這個(gè)下載請(qǐng)求時(shí)首先會(huì)判斷你有沒(méi)有登錄(找存儲(chǔ)了用戶信息的session),很明顯你是無(wú)法從服務(wù)器2中順利地下載資源的。那該怎么辦呢?

解決方法

1.最原始的解決方法是session的共享或者叫session的復(fù)制,那么什么叫session共享呢?就是當(dāng)一臺(tái)服務(wù)器中有session了,那么同時(shí)也會(huì)給其余的服務(wù)器復(fù)制相同的一份session,讓這些服務(wù)器有同樣的session。但是這種方法有一個(gè)問(wèn)題,在session復(fù)制的時(shí)候就會(huì)產(chǎn)生一個(gè)性能的問(wèn)題,如果用戶數(shù)量越多session就是復(fù)制得越頻發(fā),還有就是你服務(wù)器集群的數(shù)量越多session復(fù)制得也越多。本質(zhì)上就是你的使用量越多,session的復(fù)制也就迅速增長(zhǎng),我們把這個(gè)叫做session復(fù)制風(fēng)暴,他會(huì)對(duì)我們的服務(wù)器性能產(chǎn)生很大的影響,所以這種策略我們是不采用的

2.第二種方法是最合適的,但是我們還需要一臺(tái)服務(wù)器,這臺(tái)服務(wù)器我們需要部署非關(guān)系型數(shù)據(jù)庫(kù)redis,redis是一個(gè)用c語(yǔ)言編寫(xiě)開(kāi)源的key-value存儲(chǔ)系統(tǒng)(nosql),學(xué)過(guò)java的應(yīng)該都知道java集合這章中的map吧,map也是key-value(鍵值對(duì))的形式存儲(chǔ)數(shù)據(jù)的吧,redis和這個(gè)是類似的。屬于非關(guān)系型數(shù)據(jù)庫(kù)?,F(xiàn)在redis是一個(gè)比較火的技術(shù),在redis中他可以把session做一個(gè)接管,也就是redis可以和我們的前臺(tái)這些服務(wù)器做一個(gè)整合,那么如何整合呢?回到我們上面假設(shè)的原始情景中,當(dāng)互聯(lián)網(wǎng)用戶輸入信息點(diǎn)擊登錄后,我們的請(qǐng)求經(jīng)過(guò)F5和nginx來(lái)到前臺(tái)服務(wù)器1,此時(shí)服務(wù)器1中當(dāng)前用戶session不是服務(wù)器1自己創(chuàng)建和管理的而是交給redis服務(wù)器來(lái)創(chuàng)建和管理。當(dāng)用戶再次點(diǎn)擊下載鏈接時(shí),請(qǐng)求通過(guò)F5和nginx被傳到了服務(wù)器2上,然后服務(wù)器2從redis服務(wù)器中獲取對(duì)應(yīng)的session,判斷當(dāng)前發(fā)送請(qǐng)求的用戶是否已經(jīng)登錄,這樣的話這個(gè)問(wèn)題就很好的解決了。也不會(huì)出現(xiàn)session復(fù)制風(fēng)暴的問(wèn)題。Session服務(wù)器也是可以做集群和分布式部署的(包括redis數(shù)據(jù)庫(kù)分頁(yè),讀寫(xiě)分離,主從復(fù)制。主負(fù)責(zé)寫(xiě),從負(fù)責(zé)讀)。

接下來(lái)講的是nginx的靜態(tài)文件處理能力:靜態(tài)文件處理,如果我們的靜態(tài)頁(yè)面即給訪問(wèn)者瀏覽的頁(yè)面放在前臺(tái)服務(wù)器上,那么前臺(tái)服務(wù)器處理靜態(tài)頁(yè)面的能力是不夠的

所以我們不能把靜態(tài)頁(yè)面發(fā)布到前臺(tái)服務(wù)器(portal)中,我們得發(fā)布到nginx服務(wù)器上。那么發(fā)布到nginx的時(shí)候我們是從管理員后臺(tái)(console)服務(wù)器進(jìn)行發(fā)布的,那么我們?nèi)绾卧趶墓芾韱T后臺(tái)(console)服務(wù)器把靜態(tài)頁(yè)面和圖片發(fā)布到nginx服務(wù)器上呢?我們之前做發(fā)布的時(shí)候是使用webservice來(lái)做的,那之前webservice是部署在portal里的,現(xiàn)在如果要把靜態(tài)頁(yè)面和圖片發(fā)布到nginx上,就需要在nginx部署webservice,但是nginx是無(wú)法部署webservice的。我們要在console管理員后臺(tái)和nginx之間做一個(gè)靜態(tài)化發(fā)布

第一種方案:使用共享服務(wù)器rsingle,console和nginx兩臺(tái)機(jī)器上,都有一個(gè)文件夾相互做同步,只要console把靜態(tài)文件放到自己機(jī)器的此文件夾中同時(shí)也會(huì)同步到對(duì)應(yīng)的nginx機(jī)器的文件夾上。

第二種方案:在nginx安裝一個(gè)tomcat服務(wù),部署webservice服務(wù)war包,這個(gè)war的功能是專門(mén)用來(lái)接收靜態(tài)文件的,部署之后就讓這個(gè)tomcat來(lái)接收靜態(tài)文件和圖片。這個(gè)tomcat中得部署我們的webservice服務(wù)war包那么webservice服務(wù)我們發(fā)布了之后console就會(huì)調(diào)用這里面的服務(wù)從而把console中靜態(tài)文件發(fā)送到nginx當(dāng)中,專門(mén)放在一個(gè)存儲(chǔ)靜態(tài)文件的文件夾中,這樣的話當(dāng)互聯(lián)網(wǎng)用戶來(lái)訪問(wèn)的時(shí)候,當(dāng)請(qǐng)求來(lái)到nginx的時(shí)候,nginx就會(huì)判斷,當(dāng)前請(qǐng)求是.html或者.jpg或者.css結(jié)尾的,即請(qǐng)求靜態(tài)資源的,就不會(huì)再把該請(qǐng)求發(fā)送給前臺(tái)服務(wù)器中去處理而是直接在自己nginx服務(wù)器上處理。

總結(jié):項(xiàng)目中nginx服務(wù)器的作用

1.反向代理:從外網(wǎng)訪問(wèn)內(nèi)網(wǎng)所經(jīng)過(guò)的代理服務(wù)器,攔截.do或者其他結(jié)尾的請(qǐng)求,做集群(目的:負(fù)載均衡),轉(zhuǎn)發(fā)給前臺(tái)服務(wù)器。

2.負(fù)載均衡

3.靜態(tài)文件處理能力。

五.數(shù)據(jù)庫(kù)集群和分布式

下面的簡(jiǎn)單講解一下:

我這里還沒(méi)有講數(shù)據(jù)庫(kù)的集群和分布式包括主從復(fù)制、讀寫(xiě)分離;

大型網(wǎng)站需要存儲(chǔ)海量的數(shù)據(jù),為達(dá)到海量數(shù)據(jù)存儲(chǔ),高可用、高性能一般采用冗余的方式進(jìn)行系統(tǒng)設(shè)計(jì),本質(zhì)上其實(shí)就是通過(guò)空間換時(shí)間,比如原來(lái)一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器既負(fù)責(zé)讀也負(fù)責(zé)寫(xiě),現(xiàn)在讀單獨(dú)放在一臺(tái)服務(wù)器上,寫(xiě)也單獨(dú)放在一臺(tái)服務(wù)器上,提高了讀寫(xiě)效率。

一般有兩種冗余的系統(tǒng)設(shè)計(jì)方式:讀寫(xiě)分離和分庫(kù)分表

讀寫(xiě)分離:一般解決讀比例遠(yuǎn)大于寫(xiě)比例的場(chǎng)景,可采用一主一備,一主多備或多主多備方式。

讀寫(xiě)分離:

讀寫(xiě)分離簡(jiǎn)單的說(shuō)是把對(duì)數(shù)據(jù)庫(kù)讀和寫(xiě)的操作分開(kāi)對(duì)應(yīng)不同的數(shù)據(jù)庫(kù)服務(wù)器,這樣能有效地減輕數(shù)據(jù)庫(kù)壓力,也能減輕io壓力。主數(shù)據(jù)庫(kù)提供寫(xiě)操作,從數(shù)據(jù)庫(kù)提供讀操作,其實(shí)在很多系統(tǒng)中,主要是讀的操作,例如你瀏覽淘寶一般是看得多,寫(xiě)得少吧。當(dāng)主數(shù)據(jù)庫(kù)進(jìn)行寫(xiě)操作時(shí),數(shù)據(jù)要同步到從的數(shù)據(jù)庫(kù),這樣才能有效保證每個(gè)數(shù)據(jù)庫(kù)的完整性。

主備:

這一般是數(shù)據(jù)庫(kù)的安全策略,對(duì)于一些安全性要求比較高的系統(tǒng),數(shù)據(jù)庫(kù)通常是由主服務(wù)器和備份服務(wù)器組成,主備同時(shí)運(yùn)行,主服務(wù)器有數(shù)據(jù)改動(dòng)后,立刻會(huì)同步到備份服務(wù)器。所以在日常運(yùn)維工作中,為了防患于未然,經(jīng)常會(huì)進(jìn)行主備切換,就是把生產(chǎn)對(duì)接的服務(wù)器從主數(shù)據(jù)庫(kù)切換到備份庫(kù)上,使用備份庫(kù)運(yùn)行一段時(shí)間,看看備份庫(kù)運(yùn)行是否正常,數(shù)據(jù)是否正確等。切換的操作只需將連接池中,數(shù)據(jù)庫(kù)服務(wù)器的ip換成備份庫(kù)ip就可以了。

數(shù)據(jù)庫(kù)分庫(kù)和表拆分(分庫(kù)分表):

1.業(yè)務(wù)拆分后:每個(gè)子系統(tǒng)需要單獨(dú)的庫(kù)

2.如果單獨(dú)的庫(kù)太大,可以根據(jù)業(yè)務(wù)特性,進(jìn)行再次數(shù)據(jù)庫(kù)拆分,跟我們上面講的拆分是類似的,比如我們可以把數(shù)據(jù)庫(kù)分為商品分類庫(kù),產(chǎn)品庫(kù);

3.分庫(kù)后,如果表中有數(shù)據(jù)量很大的,則進(jìn)行表拆分,一般可以按照id,時(shí)間等進(jìn)行表拆分

4.在分庫(kù),分表的基礎(chǔ)上,進(jìn)行讀寫(xiě)分離

底層拆分的數(shù)據(jù)庫(kù)進(jìn)行分布式部署和集群部署。

圖示:以產(chǎn)品子系統(tǒng)為例

電商項(xiàng)目的一般架構(gòu)

作者:古風(fēng)天下_醉意人生,來(lái)源:CSDN

<數(shù)商云(m.zhimaihui.cn)是國(guó)內(nèi)知名企業(yè)級(jí)電商平臺(tái)提供商,為企業(yè)級(jí)商家提供最佳的系統(tǒng)開(kāi)發(fā)(多種模式電商平臺(tái)搭建:B2B/B2B2C/B2C/O2O/新零售等)、供應(yīng)鏈系統(tǒng)搭建及電商行業(yè)解決方案服務(wù)>

點(diǎn)贊 | 0

數(shù)商云是一家全鏈數(shù)字化運(yùn)營(yíng)服務(wù)商,專注于提供SCM/企業(yè)采購(gòu)/SRM供應(yīng)商/DMS經(jīng)銷商/渠道商等管理系統(tǒng),B2B/S2B/S2C/B2B2C/B2C等電商系統(tǒng),從“供應(yīng)鏈——生產(chǎn)運(yùn)營(yíng)——銷售市場(chǎng)”端到端的全鏈數(shù)字化產(chǎn)品和方案,致力于通過(guò)數(shù)字化和新技術(shù)為企業(yè)創(chuàng)造商業(yè)數(shù)字化價(jià)值。

添加企業(yè)微信獲取更多資料
添加企業(yè)微信獲取更多資料
相關(guān)文章

評(píng)論

剩余-200
發(fā)表
最新資訊

最新資訊

更多 >
推薦閱讀

推薦閱讀

填寫(xiě)以下信息, 免費(fèi)獲取方案報(bào)價(jià)
姓名
手機(jī)號(hào)碼
企業(yè)名稱
  • 建筑建材
  • 化工
  • 鋼鐵
  • 機(jī)械設(shè)備
  • 原材料
  • 工業(yè)
  • 環(huán)保
  • 生鮮
  • 醫(yī)療
  • 快消品
  • 農(nóng)林牧漁
  • 汽車汽配
  • 橡膠
  • 工程
  • 加工
  • 儀器儀表
  • 紡織
  • 服裝
  • 電子元器件
  • 物流
  • 化塑
  • 食品
  • 房地產(chǎn)
  • 交通運(yùn)輸
  • 能源
  • 印刷
  • 教育
  • 跨境電商
  • 旅游
  • 皮革
  • 3C數(shù)碼
  • 金屬制品
  • 批發(fā)
  • 研究和發(fā)展
  • 其他行業(yè)
需求描述
填寫(xiě)以下信息馬上為您安排系統(tǒng)演示
姓名
手機(jī)號(hào)碼
你的職位
企業(yè)名稱

恭喜您的需求提交成功

尊敬的用戶,您好!

您的需求我們已經(jīng)收到,我們會(huì)為您安排專屬電商商務(wù)顧問(wèn)在24小時(shí)內(nèi)(工作日時(shí)間)內(nèi)與您取得聯(lián)系,請(qǐng)您在此期間保持電話暢通,并且注意接聽(tīng)來(lái)自廣州區(qū)域的來(lái)電。
感謝您的支持!

您好,我是您的專屬產(chǎn)品顧問(wèn)
掃碼添加我的微信,免費(fèi)體驗(yàn)系統(tǒng)
(工作日09:00 - 18:00)
專屬顧問(wèn)圖片
電話咨詢 (工作日09:00 - 18:00)
客服熱線: 4008 868 127
售前熱線: 189 2432 2993
掃碼即可快速撥打熱線
在线观看日本黄色视频网站">97在线无码精品秘 入囗乱码 色情乱婬一区二区三区熟女">久久久久久久久久久久久天堂 香蕉影院国产在线播放">国产极品视频在线观看 超碰人人人人人人人人人人人人">成人精品一区在线在线