网址: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,有问题可以联系本人
分享到:
相关推荐
多用户啊商城系统
Mall4cloud商城系统 springcloud 电商商城系统 B2C商城 BBC商城 O2O商城 B2B2C商城 多语言商城 小程序商城 PC商城 H5商城 APP商城 Java商城 分销商城 多用户商城 uniapp商城 跨境电商商城 积分商城 会员商城
shopnc b2b2c 新版多用户商城系统源码 shopnc b2b2c 新版多用户商城系统源码 shopnc b2b2c 新版多用户商城系统源码 shopnc b2b2c 新版多用户商城系统源码
基于SpringBoot+SpringCloud的微服务大型在线学习平台实现【服务端源码+数据库】.zip 项目介绍 学成在线就是一个在线学习平台,类似慕课网以及腾讯学堂,是专门针对IT行业进行在线学习的平台。 学成在线采用B2B2C的...
1、springboot项目常见的运行方式: 2、说明: idea:在开发环境中跑项目,也就是我们在编码过程中的用的做多的方式 jar、war:线上、服务器上执行jar、war包的方式 maven插件方式:执行命令: mvn spring-boot:...
基于Spring Cloud的微服务分布式企业级B2B2C商城系统设计源码,该项目包含1562个文件,主要文件类型有520个java源文件,以及335个png图像文件。此外,还包括273个javascript文件,以及135个vue前端文件。该项目是一...
一个基于Spring Cloud、Nacos、Seata、Mysql、Redis、RocketMQ、canal、ElasticSearch、minio的微服务B2B2C电商商城系统,采用主流的互联网技术架构、全新的UI设计、支持集群部署、服务注册和发现以及拥有完整的订单...
仿京东商城B2B2C多用户商城源码+手机版+微信商城+微信三级分销 ecmall内核,仿京东商城B2B2C多用户商城源码+手机版+微信商城+微信三级分销 ecmall内核
一个基于Spring Cloud、Nacos、Seata、Mysql、Redis、RocketMQ、canal、ElasticSearch、minio的微服务B2B2C电商商城系统,采用主流的互联网技术架构、全新的UI设计、支持集群部署、服务注册和发现以及拥有完整的订单...
本设计源码提供了一个基于Java的小象电商B2B2C小程序电商商城开源系统。项目包含153个文件,主要使用JavaScript和微信小程序编程语言。文件类型包括37个JavaScript脚本文件、30个WXSS样式文件、29个JSON配置文件、28...
DSMall商城系统是一套完善的B2B2C(多店铺商城)解决方案。系统使用国内优秀开源框架THinkPHP,H5端采用vue.js,前后端分离,基于PHP+MySQL开发,采用B/S架构,依据6年电商经验打造出的一套开源的B2B2C电子商务系统。
java版多用户B2B2C商城系统,maven+ssm,文档齐全,可用作于毕业设计
截止今日最新版ShopNC B2B2C源码,33hao好商城V4版
(1)基于Java + vue + uni-app 开发 (2)采用业界主流开发框架SpringBoot (3)前端开发 【前端】Web PC 管理端使用vue + element UI 【前端】移动端使用UniApp 框架,前后端分离开发。 (4)标准RESTful 接口、...
一个基于Spring Cloud、Nacos、Seata、Mysql、Redis、RocketMQ、canal、ElasticSearch、minio的微服务B2B2C电商商城系统,采用主流的互联网技术架构、全新的UI设计、支持集群部署、服务注册和发现以及拥有完整的订单...
个人珍藏的比较经典的3个程序包,这是其中之一。有做b2b2c商城的朋友,可以参考学习,一起探讨一下,上传顺序三
Java SpringBoot实现在线商城项目,实现了电商商城、淘淘商城、新蜂商城、小程序商城、电商书城、淘宝天猫商城、秒杀系统、黑马乐优商城、塔可商城、仿小米商城、微信商城,使用了SpringBoot、Redis、ElasticSearch...
B2B2C商城源码
最新小京东二开版B2B2C多用户商城系统源码+拼团+砍价+批量上传+APP生成+运营版
基于PHP的飞蛙B2B2C(FeiWa B2B2C)商城电商系统 php版.zip