`
hulianrongyun
  • 浏览: 1382 次
  • 来自: 上海
社区版块
存档分类
最新评论

Java B2B2C SpringBoot SpringCloud商城

阅读更多
网址:www.hulianrongyun.com,本人QQ:4407509,有问题可以联系本人
最近公司要开发商城,让我多方咨询,最后看了很多,要不就是代码、表字段注释不全,要不就是bug多,要么就是文档缺少,最后决定自己开发一套商城。
下面是开发的一些心得体会,权且记录下来,给自己做个记录把。



本人QQ:4407509,有问题可以联系本人
之前一直都是在从事电商相关和互联网金融开发,处理过亿级数据量,所以被目前这家公司看重。
由于Java是开源的,最近几年Hadoop等开源产品越来越成熟,而且是基于Java的,所以最终选择Java最后后台开发语言,现在前端是自己的前端工程师写的JS,后期准备改成前端是PHP,中间是Go语言,后台服务器是JAVA,因为PHP写前端很厉害,不过这个也是后期了。


控制层:这几年SpringBoot发展的非常火,而且开发效率比较高,SpringMVC系列已经完全没落了,所以现阶段选择SpringBoot。

视图层:这个我个人认为哪一个都差不多,jsp、freemarker也好,最终都是生成的html。


数据库设计:
    1、关键的一个是绝对不能有外键强关联,我看到类似用hibernate、SpringData产品的一些公司,全部都是强关联,那你以后想删除一些数据,那真是噩梦的,这个还不用说,查询性能方面影响也是巨大的。
   2、分库分表。这个必须要支持的,做互联网数据量是非常的巨大的,如果开始就不能支持分库分表,那么后期会至少花上千万去做这事,最好一个例子就是当当网,当年很多事单库的,到现在也没有实现分库分表,它们只能使用一些分区表架构,分区表本身就存在很大问题,比如扩展性、数据量过亿都是问题!!!!
3、处理秒杀,作为互联网项目,秒杀那也是必须要能支持才可以的。



数据库选择:最好还是myslq,1、轻量,2、开源(阿里的alisql就是MySQL改个名字),3、功能能满足电商需求

搜索:选择ElasticSearch较好,原因是他封装的较好
权限对于电商来说不应该设计的过于复杂,我认为主要就两张表就够了,一个是角色Role表,一个是资源Resources表,然后用户和角色通过中间表关联下就OK了,角色里面有资源,很简单的逻辑,security、shiro这两款的权限框架都能做出这个需求。

缓存:目前使用Redis,我看到有的公司使用的是memcache,这个10年前,就这样,功能非常的简陋不说,主要一个问题是会有死缓存,就是缓存怎么也清空不了,这个你想想就知道多悲剧了,商家修改了价格,怎么也改不了,最后只能关闭机器重启。还有的公司使用的还是hibernate提供的ehcache,这个大家自行了解即可,关键是他做集群有问题,搞电商不可能是单机的,刚上线至少是2台服务器。

静态化:目前使用前端静态化,可以实现全站60%都是静态页面,数据从集群redis缓存中读取。

服务化:目前使用SpringCloud,虽然阿里的dubbo确实做得非常好,但是目前市场来看SpringCloud有取代的趋势,另外SpringCloud提供了更多的服务治理方案。

图片服务器:这个也是非常重要的环节,目前我们测试系统都有15个G的图片了!!!!线上估计会是以T计算的,觉得是需要独立的图片服务器的。

集群、负载、分布式:前面的分库分表、服务化、图片服务器都是为集群、负载、分布式做准备的,集群需要基于CDN做动态切换,服务器用Nginx做复杂,业务层用SpringCloud做分布式服务。

下面整理下整个架构吧:
    展示层/控制层:SpringBoot,在spring中做读写分离
    持久层:mybatis
    数据库:MySQL/Oracle,支持主从复制、读写分离、多机备份、支持分库分表
    缓存机制:redis,CDN图片缓存,也是支持热备份、高并发的
    静态化机制:系统页面做静态化,提高访问速度
    图片服务器:购买专用服务器,用nginx做负载
    
   
    搜索引擎: 分布式ElasticSearch
   
    服务器:Linux
    中间件:tomcat、nginx,还有其他N多的支持集群部署的安装间接软件,就不一一列举了
    图片服务器:通过nginx做的,SFTP方式统一上传
    集群方案:多机tomcat,seesion统一管理,图片统一管理。这些需要一套解决方案。
    服务器要求:linux/windows,4G内存,空间20G以上
    
架构图:


   最后对于JAVA领域商城的开发,其实在PHP、.NET语言中,已经有非常多的成熟同类产品了,比如shopnc、ecshop等等等,但是PHP的逻辑都是写在前台文件中,这个就跟JAVA中的逻辑都是写在了JSP中一样,这样虽然便于开发,但是后期二次开发、维护都不方便。另外.NET语言大家都是知道的,它是不开源的,这个我觉得不敢用的,哪天你遇到致命bug了,没法从底层排查,这也是为什么银行、金融、电商很多行业不用这个语言原因了。
  
  另外对于JAVA开发方面,其实如果有好的架构,JAVA程序员只写逻辑,前端只写前端,数据库DBA只关注DBA,这样的话,开发起来会非常的方便。我们团队目前也是花了很长时间,也借鉴了很多成熟的框架,研发了一套适合商城开发的一套架构。等到以后有机会可以开源出来给大家。

网址:www.hulianrongyun.com,本人QQ:4407509,有问题可以联系本人
分享到:
评论

相关推荐

    java B2B2C 商城

    在B2B2C商城系统中,Java的Spring框架常用于构建后端服务,提供依赖注入和面向切面编程,便于代码管理和维护。Spring Boot简化了Spring的应用启动和配置,而Spring Cloud则用于微服务架构,使系统能够灵活扩展。 ...

    基于Java的小象电商B2B2C小程序电商商城开源设计源码

    本设计源码提供了一个基于Java的小象电商B2B2C小程序电商商城开源系统。项目包含153个文件,主要使用JavaScript和微信小程序编程语言。文件类型包括37个JavaScript脚本文件、30个WXSS样式文件、29个JSON配置文件、28...

    基于Spring Cloud微服务B2B2C电商商城系统Mall4cloud

    Mall4cloud商城系统 springcloud 电商商城系统 B2C商城 BBC商城 O2O商城 B2B2C商城 多语言商城 小程序商城 PC商城 H5商城 APP商城 Java商城 分销商城 多用户商城 uniapp商城 跨境电商商城 积分商城 会员商城

    B2B2C商城源码.zip

    【标题】"B2B2C商城源码.zip"揭示了这是一个包含B2B2C电子商务平台源代码的压缩文件。B2B2C(Business-to-Business-to-Consumer)模式是电商领域的一种商业模式,它整合了企业对企业(B2B)和企业对消费者(B2C)的...

    基于SpringBoot+SpringCloud的微服务大型在线学习平台实现【服务端源码+数据库】.zip

    基于SpringBoot+SpringCloud的微服务大型在线学习平台实现【服务端源码+数据库】.zip 项目介绍 学成在线就是一个在线学习平台,类似慕课网以及腾讯学堂,是专门针对IT行业进行在线学习的平台。 学成在线采用B2B2C的...

    基于Spring Cloud的微服务分布式企业级B2B2C商城系统设计源码

    基于Spring Cloud的微服务分布式企业级B2B2C商城系统设计源码,该项目包含1562个文件,主要文件类型有520个java源文件,以及335个png图像文件。此外,还包括273个javascript文件,以及135个vue前端文件。该项目是一...

    shopnc b2b2c 新版多用户商城系统源码.zip

    ShopNC B2B2C是一款专业级别的多用户商城系统,主要针对电子商务领域的商家与消费者提供全方位的在线交易解决方案。该系统源码的发布意味着开发者和企业可以深入理解其内部架构和逻辑,根据自身需求进行定制化开发,...

    2016最新ShopNC B2B2C 33hao好商城V4

    ShopNC B2B2C 33hao好商城V4是一款先进的电子商务平台解决方案,专为多商户在线购物系统设计。这款系统集成了B2B(企业对企业)和B2C(企业对消费者)的商业模式,同时支持C2C(消费者对消费者)的部分功能,为企业...

    java版springcloud B2B2C o2o多用户商城 springcloud架构-springboot运行模式

    1、springboot项目常见的运行方式: 2、说明:  idea:在开发环境中跑项目,也就是我们在编码过程中的用的做多的方式  jar、war:线上、服务器上执行jar、war包的方式 maven插件方式:执行命令: mvn spring-boot:...

    ShopNC B2B2C 最新版33hao好商城 完整无错商业版 上线即用

    "33hao好商城"是ShopNC B2B2C的一个特定版本,被称为最新版,意味着它包含了最新的功能和优化,旨在为用户带来更优秀的使用体验,且据描述,这个版本是“完整无错商业版”,意味着经过了严格的测试,确保在上线后...

    微服务架构,分布式部署,高性能,全开源一个基于Spring Cloud的B2B2C电商商城系统mall4cloud

    一个基于Spring Cloud、Nacos、Seata、Mysql、Redis、RocketMQ、canal、ElasticSearch、minio的微服务B2B2C电商商城系统,采用主流的互联网技术架构、全新的UI设计、支持集群部署、服务注册和发现以及拥有完整的订单...

    A_SHOPNC2016最新B2B2C源码+好商城v4运营最新版_niushopb2b2cv4_商城b2b2c_商城_b2b2c

    《全面解析:SHOPNC2016 B2B2C源码与好商城v4运营最新版》 在数字化时代,电商平台已经成为商业运作的重要组成部分,尤其是B2B2C模式,它结合了商家对商家(B2B)和商家对消费者(B2C)的双重模式,为企业提供了更...

    毕业设计-java版多用户B2B2C商城系统

    《基于Java的多用户B2B2C商城系统解析》 在信息技术日新月异的今天,电子商务系统已经成为商业运营的重要组成部分。Java作为一款广泛应用的编程语言,以其强大的跨平台性和稳定性,常被用于构建复杂的Web应用,如...

    基于Spring Cloud、Nacos、Seata、Mysql、Redis、RocketMQ等的微服务B2B2C电商商城系统

    一个基于Spring Cloud、Nacos、Seata、Mysql、Redis、RocketMQ、canal、ElasticSearch、minio的微服务B2B2C电商商城系统,采用主流的互联网技术架构、全新的UI设计、支持集群部署、服务注册和发现以及拥有完整的订单...

    lilishop是B2B2C多用户商城系统开发的JAVA

    lilishop是B2B2C多用户商城系统开发的JAVA。基于当前流行技术组合的前后端分离商城系统:后后端使用SpringBoot、MybatisPlus、SpringSecurity、redis、ES、mysql、mongodb等主流技术,前后端使用…

    仿京东商城B2B2C多用户商城源码+手机版+微信商城+微信三级分销 ecmall内核.zip

    【仿京东商城B2B2C多用户商城源码】是一种基于电子商务模型的开源软件解决方案,主要用于构建类似于京东商城的在线购物平台。B2B2C(Business to Business to Consumer)模式是电子商务的一种,其中商家可以与其他...

    畅购商场SpringCloud开发文档.pdf

    B2B、C2C、B2C、C2B、O2O、F2C、B2B2C等是电商模式的主要类型。每种电商模式都有其特点和应用场景,了解这些电商模式是 SpringCloud 微服务电商实战项目的业务基础。 技术栈 技术栈是 SpringCloud 微服务电商实战...

    DSmall多商户B2B2C开源商城源码 v6.1.5

    DSMall商城系统是一套完善的B2B2C(多店铺商城)解决方案。系统使用国内优秀开源框架THinkPHP,H5端采用vue.js,前后端分离,基于PHP+MySQL开发,采用B/S架构,依据6年电商经验打造出的一套开源的B2B2C电子商务系统。

    CRMEB多商户JAVA版 B2B2C商家入驻平台系统

    (1)基于Java + vue + uni-app 开发 (2)采用业界主流开发框架SpringBoot (3)前端开发 【前端】Web PC 管理端使用vue + element UI 【前端】移动端使用UniApp 框架,前后端分离开发。 (4)标准RESTful 接口、...

    B2B2C网上商城开发指南

    B2B2C网上商城开发指南是一个深入探讨如何构建此类平台的资源,对于有意搭建自己商城的企业和个人来说,具有很高的参考价值。下面,我们将详细介绍B2B2C网上商城开发的一些核心知识点。 首先,理解B2B2C模式。在B2B...

Global site tag (gtag.js) - Google Analytics