Java B2B2C SpringBoot SpringCloud商城

    较近公司要开发商城,让我多方咨询,最后看了很多,要不就是代码、表字段注释不全,要不就是bug多,要么就是文档缺少,最后决定自己开发一套商城。
    下面是开发的一些心得体会,权且记录下来,给自己做个记录把。


    之**直都是在从事电商相关和互联网金融开发,处理过亿级数据量,所以被目前这家公司看重。
    由于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,这样的话,开发起来会非常的方便。我们团队目前也是花了很长时间,也借鉴了很多成熟的框架,研发了一套适合商城开发的一套架构。等到以后**会可以开源出来给大家。




    无锡红猪网络科技有限公司专注于java,b2b2c,多用户商城等

  • 词条

    词条说明

  • java btbtc商城

    电商多用户商城购物系统中,php商城系统和java商城系统是电商系统的两个大门派,一直在暗自较劲,但是也是胜负难分。今天来和大家聊聊关于java多用户商城的那些事儿。    什么是java多用户购物商城Java多用户电子商城,顾名思义,就是使用java程序语言开发、支持多个用户一同建设网上商城的电商购物系统。Java多用户网上商城就像是淘宝商城一样,很多的商家都可以在

  • java 商城系统架构之*三篇——集群架构搭建

    其实集群说起来是很简单的,无非就是server部署在多台机器上,DB、session、文件等在做个机器、CDN加速就OK了。但是实际上需要做的事还有非常多,并且在过程中需要填非常多的坑。这里说一个很多人都不太了解的,就是虚拟IP,比如你访问,多少年还是那个IP,并且几乎没有挂过。这个IP就是虚拟IP,用户不会实际访问这台服务器,这台服务器是运营商提供的,用户访问后会通过各种技术手

  • java多用户商城系统架构之**篇——总的介绍

    较近公司要开发商城,让我多方咨询,最后看了很多,要不就是代码、表字段注释不全,要不就是bug多,要么就是文档缺少,最后决定自己开发一套商城。下面是开发的一些心得体会,权且记录下来,给自己做个记录把。之**直都是在从事电商相关和互联网金融开发,处理过亿级数据量,所以被目前这家公司看重。由于Java是开源的,较近几年Hadoop等开源产品越来越成熟,而且是基于Java的,所以较终选择Java最后后台开

  • java多用户B2B2C商城源码仿京东源码

    本系统可以重新开发源代码,主要用于二次开发的开发人员学习和参考使用,不明白仔细购买的源代码,因为时间有限,不会安装联系人,我肯定有时间购买安装服务 Java多用户B2B2C商城源代码模仿京东源代码支持MySQL购物中心系统是一个用Java语言开发的多用户购物中心系统。SpringBoot、SpringCloud、MyBatis作为基本开发框架,应用 保卫框架管理系统权限,结合U

联系方式 联系我时,请告知来自八方资源网!

公司名: 无锡红猪网络科技有限公司

联系人: 周庆达

电 话:

手 机: 17503009512

微 信: 17503009512

地 址: 江苏无锡滨湖区222号

邮 编: 123123

网 址: redpigmall.b2b168.com

八方资源网提醒您:
1、本信息由八方资源网用户发布,八方资源网不介入任何交易过程,请自行甄别其真实性及合法性;
2、跟进信息之前,请仔细核验对方资质,所有预付定金或付款至个人账户的行为,均存在诈骗风险,请提高警惕!
    联系方式

公司名: 无锡红猪网络科技有限公司

联系人: 周庆达

手 机: 17503009512

电 话:

地 址: 江苏无锡滨湖区222号

邮 编: 123123

网 址: redpigmall.b2b168.com

    相关企业
    商家产品系列
  • 产品推荐
  • 资讯推荐
关于八方 | 八方币 | 招商合作 | 网站地图 | 免费注册 | 一元广告 | 友情链接 | 联系我们 | 八方业务| 汇款方式 | 商务洽谈室 | 投诉举报
粤ICP备10089450号-8 - 经营许可证编号:粤B2-20130562 软件企业认定:深R-2013-2017 软件产品登记:深DGY-2013-3594
著作权登记:2013SR134025
Copyright © 2004 - 2024 b2b168.com All Rights Reserved