java多用戶商城系統(tǒng)架構之**篇——總的介紹

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


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


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

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


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



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

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

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

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

    服務化:目前使用SpringCloud,雖然阿里的dubbo確實做得非常好,但是目前市場來看SpringCloud有取代的趨勢,另外SpringCloud提供了更多的服務治理方案。

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

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

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


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




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

  • 詞條

    詞條說明

  • java b2b2c多用戶商城

    電商多用戶商城購物系統(tǒng)中,php商城系統(tǒng)和java商城系統(tǒng)是電商系統(tǒng)的兩個大門派,一直在暗自較勁,但是也是勝負難分。今天來和大家聊聊關于java多用戶商城的那些事兒。??? 什么是java多用戶購物商城Java多用戶電子商城,顧名思義,就是使用java程序語言開發(fā)、支持多個用戶一同建設網(wǎng)上商城的電商購物系統(tǒng)。Java多用戶網(wǎng)上商城就像是淘寶商城一樣,很多的商家都可以在

  • 旅游電商面臨眾多挑戰(zhàn),一勞永逸的解決方案到底有沒有?

    摘要: 國家在大力推行全域旅游經(jīng)濟發(fā)展,旅游電商行業(yè)呈現(xiàn)一片藍海,其擁有得天*厚的電子商務發(fā)展優(yōu)勢,我國旅游業(yè)以高歌猛進之勢發(fā)展。世間萬物都有兩面體,一面在推動前進的同時,會產生一定的阻礙力,想要在眾多的挑戰(zhàn)中夾縫重生,一勞永逸的解決方案到底有沒有? 國家在大力推行全域旅游經(jīng)濟發(fā)展,旅游電商行業(yè)呈現(xiàn)一片藍海,其擁有得天*厚的電子商務發(fā)展優(yōu)勢,我國旅游業(yè)以高歌猛進之勢發(fā)展。世間萬物都有兩面體,一面在

  • java多用戶B2B2C商城源碼仿京東源碼

    本系統(tǒng)可以重新開發(fā)源代碼,主要用于二次開發(fā)的開發(fā)人員學習和參考使用,不明白仔細購買的源代碼,因為時間有限,不會安裝聯(lián)系人,我肯定有時間購買安裝服務?Java多用戶B2B2C商城源代碼模仿京東源代碼支持MySQL購物中心系統(tǒng)是一個用Java語言開發(fā)的多用戶購物中心系統(tǒng)。SpringBoot、SpringCloud、MyBatis作為基本開發(fā)框架,應用?保衛(wèi)框架管理系統(tǒng)權限,結合U

  • (十)Java springcloud B2B2C o2o多用戶商城 springcloud架構-SSO單點登錄之OAuth2.0登錄認證(1)

    之前寫了很多關于spring cloud的文章,今天我們對OAuth2.0的整合方式做一下筆記,首先我從網(wǎng)上找了一些關于OAuth2.0的一些基礎知識點,幫助大家回顧一下知識點:?一、oauth中的角色client:調用資源服務器API的應用Oauth 2.0 Provider:包括Authorization Server和Resource Server(1)Authorization

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

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

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

電 話:

手 機: 17503009512

微 信: 17503009512

地 址: 江蘇無錫濱湖區(qū)222號

郵 編: 123123

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

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

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

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

手 機: 17503009512

電 話:

地 址: 江蘇無錫濱湖區(qū)222號

郵 編: 123123

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

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