java 多用戶商城系統(tǒng)源碼仿京東淘寶

    較近公司要開(kāi)發(fā)商城,讓我多方咨詢,最后看了很多,要不就是代碼、表字段注釋不全,要不就是bug多,要么就是文檔缺少,最后決定自己開(kāi)發(fā)一套商城。
    下面是開(kāi)發(fā)的一些心得體會(huì),權(quán)且記錄下來(lái),給自己做個(gè)記錄把。


    之**直都是在從事電商相關(guān)和互聯(lián)網(wǎng)金融開(kāi)發(fā),處理過(guò)億級(jí)數(shù)據(jù)量,所以被目前這家公司看重。
    由于Java是開(kāi)源的,較近幾年Hadoop等開(kāi)源產(chǎn)品越來(lái)越成熟,而且是基于Java的,所以較終選擇Java最后后臺(tái)開(kāi)發(fā)語(yǔ)言,現(xiàn)在**是自己的**工程師寫(xiě)的JS,后期準(zhǔn)備改成**是PHP,中間是Go語(yǔ)言,后臺(tái)服務(wù)器是JAVA,因?yàn)镻HP寫(xiě)**很厲害,不過(guò)這個(gè)也是后期了。


    控制層:這幾年SpringBoot發(fā)展的非?;?,而且開(kāi)發(fā)效率比較高,SpringMVC系列已經(jīng)完全沒(méi)落了,所以現(xiàn)階段選擇SpringBoot。

    視圖層:這個(gè)我個(gè)人認(rèn)為哪一個(gè)都差不多,jsp、freemarker也好,較終都是生成的html。


    數(shù)據(jù)庫(kù)設(shè)計(jì):
        1、關(guān)鍵的一個(gè)是**不能有外鍵強(qiáng)關(guān)聯(lián),我看到類似用hibernate、SpringData產(chǎn)品的一些公司,全部都是強(qiáng)關(guān)聯(lián),那你以后想刪除一些數(shù)據(jù),那真是噩夢(mèng)的,這個(gè)還不用說(shuō),查詢性能方面影響也是巨大的。
       2、分庫(kù)分表。這個(gè)必須要支持的,做互聯(lián)網(wǎng)數(shù)據(jù)量是非常的巨大的,如果開(kāi)始就不能支持分庫(kù)分表,那么后期會(huì)至少花上千萬(wàn)去做這事,較好一個(gè)例子就是當(dāng)當(dāng)網(wǎng),當(dāng)年很多事單庫(kù)的,到現(xiàn)在也沒(méi)有實(shí)現(xiàn)分庫(kù)分表,它們只能使用一些分區(qū)表架構(gòu),分區(qū)表本身就存在很大問(wèn)題,比如擴(kuò)展性、數(shù)據(jù)量過(guò)億都是問(wèn)題!?。?!
    3、處理*,作為互聯(lián)網(wǎng)項(xiàng)目,*那也是必須要能支持才可以的。



    數(shù)據(jù)庫(kù)選擇:較好還是myslq,1、輕量,2、開(kāi)源(阿里的alisql就是MySQL改個(gè)名字),3、功能能滿足電商需求

    搜索:選擇ElasticSearch較好,原因是他封裝的較好
    權(quán)限對(duì)于電商來(lái)說(shuō)不應(yīng)該設(shè)計(jì)的過(guò)于復(fù)雜,我認(rèn)為主要就兩張表就夠了,一個(gè)是角色Role表,一個(gè)是資源Resources表,然后用戶和角色通過(guò)中間表關(guān)聯(lián)下就OK了,角色里面有資源,很簡(jiǎn)單的邏輯,security、shiro這兩款的權(quán)限框架都能做出這個(gè)需求。

    緩存:目前使用Redis,我看到有的公司使用的是memcache,這個(gè)10年前,就這樣,功能非常的簡(jiǎn)陋不說(shuō),主要一個(gè)問(wèn)題是會(huì)有死緩存,就是緩存怎么也清空不了,這個(gè)你想想就知道多悲劇了,商家修改了價(jià)格,怎么也改不了,最后只能關(guān)閉機(jī)器重啟。還有的公司使用的還是hibernate提供的ehcache,這個(gè)大家自行了解即可,關(guān)鍵是他做集群有問(wèn)題,搞電商不可能是單機(jī)的,剛上線至少是2臺(tái)服務(wù)器。

    靜態(tài)化:目前使用**靜態(tài)化,可以實(shí)現(xiàn)全站60%都是靜態(tài)頁(yè)面,數(shù)據(jù)從集群redis緩存中讀取。

    服務(wù)化:目前使用SpringCloud,雖然阿里的dubbo確實(shí)做得非常好,但是目前市場(chǎng)來(lái)看SpringCloud有取代的趨勢(shì),另外SpringCloud提供了更多的服務(wù)治理方案。

    圖片服務(wù)器:這個(gè)也是非常重要的環(huán)節(jié),目前我們測(cè)試系統(tǒng)都有15個(gè)G的圖片了?。。。【€上估計(jì)會(huì)是以T計(jì)算的,覺(jué)得是需要獨(dú)立的圖片服務(wù)器的。

    集群、負(fù)載、分布式:**的分庫(kù)分表、服務(wù)化、圖片服務(wù)器都是為集群、負(fù)載、分布式做準(zhǔn)備的,集群需要基于CDN做動(dòng)態(tài)切換,服務(wù)器用Nginx做復(fù)雜,業(yè)務(wù)層用SpringCloud做分布式服務(wù)。

    下面整理下整個(gè)架構(gòu)吧:
        展示層/控制層:SpringBoot,在spring中做讀寫(xiě)分離
        持久層:mybatis
        數(shù)據(jù)庫(kù):MySQL/Oracle,支持主從復(fù)制、讀寫(xiě)分離、多機(jī)備份、支持分庫(kù)分表
        緩存機(jī)制:redis,CDN圖片緩存,也是支持熱備份、高并發(fā)的
        靜態(tài)化機(jī)制:系統(tǒng)頁(yè)面做靜態(tài)化,提高訪問(wèn)速度
        圖片服務(wù)器:購(gòu)買**服務(wù)器,用nginx做負(fù)載
       
       
        搜索引擎: 分布式ElasticSearch
      
        服務(wù)器:Linux
        中間件:tomcat、nginx,還有其他N多的支持集群部署的安裝間接軟件,就不一一列舉了
        圖片服務(wù)器:通過(guò)nginx做的,SFTP方式統(tǒng)一上傳
        集群方案:多機(jī)tomcat,seesion統(tǒng)一管理,圖片統(tǒng)一管理。這些需要一套解決方案。
        服務(wù)器要求:linux/windows,4G內(nèi)存,空間20G以上
       


       最后對(duì)于JAVA領(lǐng)域商城的開(kāi)發(fā),其實(shí)在PHP、.NET語(yǔ)言中,已經(jīng)有非常多的成熟同類產(chǎn)品了,比如shopnc、ecshop等等等,但是PHP的邏輯都是寫(xiě)在前臺(tái)文件中,這個(gè)就跟JAVA中的邏輯都是寫(xiě)在了JSP中一樣,這樣雖然便于開(kāi)發(fā),但是后期二次開(kāi)發(fā)、維護(hù)都不方便。另外.NET語(yǔ)言大家都是知道的,它是不開(kāi)源的,這個(gè)我覺(jué)得不敢用的,哪天你遇到致命bug了,沒(méi)法從底層排查,這也是為什么銀行、金融、電商很多行業(yè)不用這個(gè)語(yǔ)言原因了。
     
      另外對(duì)于JAVA開(kāi)發(fā)方面,其實(shí)如果有好的架構(gòu),JAVA程序員只寫(xiě)邏輯,**只寫(xiě)**,數(shù)據(jù)庫(kù)DBA只關(guān)注DBA,這樣的話,開(kāi)發(fā)起來(lái)會(huì)非常的方便。我們團(tuán)隊(duì)目前也是花了很長(zhǎng)時(shí)間,也借鑒了很多成熟的框架,研發(fā)了一套適合商城開(kāi)發(fā)的一套架構(gòu)。等到以后**會(huì)可以開(kāi)源出來(lái)給大家。




    無(wú)錫紅豬網(wǎng)絡(luò)科技有限公司專注于java,b2b2c,多用戶商城等

  • 詞條

    詞條說(shuō)明

  • B2B2C商城系統(tǒng)解決方案,多種模式讓平臺(tái)運(yùn)營(yíng)較靈活多變

    摘要: RedPigMall B2B2C綜合商城系統(tǒng)是專為企業(yè)級(jí)客戶研發(fā)支持多供貨商、多商戶店鋪入駐的綜合商城平臺(tái),集團(tuán)購(gòu)、電商零售、批發(fā)于一體,提供給供應(yīng)商商品售賣服務(wù),對(duì)用戶提供購(gòu)買服務(wù),支持運(yùn)營(yíng)、聯(lián)營(yíng)、招商等多種運(yùn)營(yíng)模式,讓企業(yè)低成本快速構(gòu)建在線商城,開(kāi)啟電子商... RedPigMall B2B2C綜合商城系統(tǒng)是專為企業(yè)級(jí)客戶研發(fā)支持多供貨商、多商戶店鋪入駐的綜合商城平臺(tái),集團(tuán)購(gòu)、電商零售

  • RedPigMall旅游電商平臺(tái)解決方案丨坐收好紅利!

    摘要: “互聯(lián)網(wǎng)+”的影響下,傳統(tǒng)產(chǎn)業(yè)互聯(lián)網(wǎng)化趨勢(shì)日益明顯。智慧旅游作為旅游行業(yè)的新寵兒,近年來(lái)保持著強(qiáng)勁的發(fā)展勢(shì)頭,2018年我國(guó)旅游行業(yè)實(shí)現(xiàn)新跨越,全年旅游總收入約5。25萬(wàn)億元。旅游業(yè)發(fā)展總體向好,從市場(chǎng)的總體情況來(lái)看,國(guó)內(nèi)游依舊保持**高的熱度 “互聯(lián)網(wǎng)+”的影響下,傳統(tǒng)產(chǎn)業(yè)互聯(lián)網(wǎng)化趨勢(shì)日益明顯。智慧旅游作為旅游行業(yè)的新寵兒,近年來(lái)保持著強(qiáng)勁的發(fā)展勢(shì)頭,2018年我國(guó)旅游行業(yè)實(shí)現(xiàn)新跨越,全年

  • java springboot b2b2c shop 多用戶商城系統(tǒng)源碼-SpringCloud架構(gòu)設(shè)計(jì)

    較近一直在針對(duì)SpringCloud框架做項(xiàng)目,從中踩了不少的坑,也漸漸梳理出了一些內(nèi)容,由于SpringCloud作為一個(gè)全家桶,其中東西太多,所以這時(shí)候就要有所取舍,這里就想把自己比較常用組件及架構(gòu)推薦上來(lái)。需要JAVA Spring Cloud大型企業(yè)分布式微服務(wù)云構(gòu)建的B2B2C電子商務(wù)平臺(tái)源碼針對(duì)這個(gè)架構(gòu)圖我分層介紹一下:1、是web服務(wù)器的選型,這個(gè)我選擇的是nginx+keepali

  • java springboot b2b2c shop 多用戶商城系統(tǒng)源碼-SpringCloud架構(gòu)設(shè)計(jì)

    較近一直在針對(duì)SpringCloud框架做項(xiàng)目,從中踩了不少的坑,也漸漸梳理出了一些內(nèi)容,由于SpringCloud作為一個(gè)全家桶,其中東西太多,所以這時(shí)候就要有所取舍,這里就想把自己比較常用組件及架構(gòu)推薦上來(lái)。需要JAVA Spring Cloud大型企業(yè)分布式微服務(wù)云構(gòu)建的B2B2C電子商務(wù)平臺(tái)源碼針對(duì)這個(gè)架構(gòu)圖我分層介紹一下:1、是web服務(wù)器的選型,這個(gè)我選擇的是nginx+keepali

聯(lián)系方式 聯(lián)系我時(shí),請(qǐng)告知來(lái)自八方資源網(wǎng)!

公司名: 無(wú)錫紅豬網(wǎng)絡(luò)科技有限公司

聯(lián)系人: 周慶達(dá)

電 話:

手 機(jī): 17503009512

微 信: 17503009512

地 址: 江蘇無(wú)錫濱湖區(qū)222號(hào)

郵 編: 123123

網(wǎng) 址: redpigmall.b2b168.com

八方資源網(wǎng)提醒您:
1、本信息由八方資源網(wǎng)用戶發(fā)布,八方資源網(wǎng)不介入任何交易過(guò)程,請(qǐng)自行甄別其真實(shí)性及合法性;
2、跟進(jìn)信息之前,請(qǐng)仔細(xì)核驗(yàn)對(duì)方資質(zhì),所有預(yù)付定金或付款至個(gè)人賬戶的行為,均存在詐騙風(fēng)險(xiǎn),請(qǐng)?zhí)岣呔瑁?
    聯(lián)系方式

公司名: 無(wú)錫紅豬網(wǎng)絡(luò)科技有限公司

聯(lián)系人: 周慶達(dá)

手 機(jī): 17503009512

電 話:

地 址: 江蘇無(wú)錫濱湖區(qū)222號(hào)

郵 編: 123123

網(wǎng) 址: redpigmall.b2b168.com

    相關(guān)企業(yè)
    商家產(chǎn)品系列
  • 產(chǎn)品推薦
  • 資訊推薦
關(guān)于八方 | 八方幣 | 招商合作 | 網(wǎng)站地圖 | 免費(fèi)注冊(cè) | 一元廣告 | 友情鏈接 | 聯(lián)系我們 | 八方業(yè)務(wù)| 匯款方式 | 商務(wù)洽談室 | 投訴舉報(bào)
粵ICP備10089450號(hào)-8 - 經(jīng)營(yíng)許可證編號(hào):粵B2-20130562 軟件企業(yè)認(rèn)定:深R-2013-2017 軟件產(chǎn)品登記:深DGY-2013-3594
著作權(quán)登記:2013SR134025
Copyright ? 2004 - 2024 b2b168.com All Rights Reserved