JAVA多用户商城系统源码
如果需要商城系统请联系下方
最近公司要开发商城,让我多方咨询,最后看了很多,要不就是代码、表字段注释不全,要不就是bug多,要么就是文档缺少,最后决定自己开发一套商城。
下面是开发的一些心得体会,权且记录下来,给自己做个记录把。
之前一直都是在从事电商相关和互联网金融开发,处理过亿级数据量,所以被目前这家公司看重。
由于Java是开源的,最近几年Hadoop等开源产品越来越成熟,而且是基于Java的,所以最终选择Java最后后台开发语言,现在前端是自己的前端工程师写的JS,后期准备改成前端是PHP,中间是Go语言,后台服务器是JAVA,因为PHP写前端很厉害,不过这个也是后期了。
控制层:这几年springMVC发展的非常火,而且开发效率比较高,struts系列已经完全没落了,所以现阶段选择SrpingMVC。
视图层:网上已经有非常多的测试过JSP、freemarkder、velocity等,结果性能:velocity>freemarker>jsp,开发速度:velocity>freemarker>jsp
数据库设计:
1、关键的一个是绝对不能有外键强关联,我看到类似用hibernate产品的一些公司,全部都是强关联,那你以后想删除一些数据,那真是噩梦的,这个还不用说,查询性能方面影响也是巨大的。
2、分库分表。这个必须要支持的,做互联网数据量是非常的巨大的,如果开始就不能支持分库分表,那么后期会至少花上千万去做这事,最好一个例子就是当当网,当年很多事单库的,到现在也没有实现分库分表,它们只能使用一些分区表架构,分区表本身就存在很大问题,比如扩展性、数据量过亿都是问题!!!!
数据库选择:最好还是myslq,1、轻量,2、开源(阿里的alisql就是MySQL改个名字),、功能能满足电商需求
搜索:选择lucene较好,原因是他封装的较好,权限对于电商来说不应该设计的过于复杂,我认为主要就两张表就够了,一个是角Role表,一个是资源Resources表,然后用户和角通过中间表关联下就OK了,角里面有资源,很简单的逻辑,security、shiro这两款的权限框架都能做出这个需求。
缓存:目前使用Redis,我看到有的公司使用的是memcache,这个10年前,就这样,功能非常的简陋不说,主要一个问题是会有死缓存,就是缓存怎么也清空不了,这个你想想就知道多悲剧了,商家修改了价格,怎么也改不了,最后只能关闭机器重启。还有的公司使用的还是hibernate提供的ehcache,这个大家自行了解即可,关键是他做集有问题,搞电商不可能是单机的,刚上线至少是2台服务器。
静态化:目前使用velocity的静态化,可以实现全站60%都是静态页面,数据从集redis缓存中读取。
服务化:目前使用dubbo,阿里的东西还是经受住很大考验的,即时老外的东西再好,也没有这样的场景去考验,所以都还是理论阶段,这个让国人蛮自豪的!
图片服务器:这个也是非常重要的环节,目前我们测试系统都有5个G的图片了!!!!线上估计会是以T计算的,觉得是需要独立的图片服务器的。
集、负载、分布式:前面的分库分表、服务化、图片服务器都是为集、负载、分布式做准备的,集需要基于CD做动态切换,服务器用ginx做复杂,业务层用dubbo做分布式服务。
下面整理下整个架构吧:
展示层/控制层:springMVC,在spring中做读写分离
持久层:mybatis
数据库:MySQL/Oracle,支持主从复制、读写分离、多机备份、支持分库分表
缓存机制:redis,CD图片缓存,也是支持热备份、高并发的
静态化机制:velocity
图片服务器:购买占用服务器,用nginx做负载
安全框架apache shiro
搜索引擎: Lucene
中文分词:IKAnalyzer
服务器:Linux
中间件:tomcat、nginx,还有其他多的支持集部署的安装间接软件,就不一一列举了
图片服务器:通过nginx做的,SFTP方式统一上传
集方案:多机tomcat,seesion统一管理,图片统一管理。这些需要一套解决方案。
服务器要求:linux/windows,4G内存,空间20G以上
架构图:
最后对于JAVA领域商城的开发,其实在PHP、.ET语言中,已经有非常多的成熟同类产品了,比如shopnc、ecshop等等等,但是PHP的逻辑都是写在前台文件中,这个就跟JAVA中的逻辑都是写在了JSP中一样,这样虽然便于开发,但是后期二次开发、维护都不方便。另外.ET语言大家都是知道的,它是不开源的,这个我觉得不敢用的,哪天你遇到致命bug了,没法从底层排查,这也是为什么银行、金融、电商很多行业不用这个语言原因了。
另外对于JAVA开发方面,其实如果有好的架构,JAVA程序员只写逻辑,前端只写前端,数据库DBA只关注DBA,这样的话,开发起来会非常的方便。我们团队目前也是花了很长时间,也借鉴了很多成熟的框架,研发了一套适合商城开发的一套架构。等到以后有机会可以开源出来给大家。
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
推荐阅读
留言与评论(共有 19 条评论) |
本站网友 matroska | 16分钟前 发表 |
之前一直都是在从事电商相关和互联网金融开发,处理过亿级数据量,所以被目前这家公司看重 | |
本站网友 金地花园 | 8分钟前 发表 |
支持分库分表 缓存机制:redis,CD图片缓存,也是支持热备份 | |
本站网友 广州短期租房 | 20分钟前 发表 |
关键的一个是绝对不能有外键强关联,我看到类似用hibernate产品的一些公司,全部都是强关联,那你以后想删除一些数据,那真是噩梦的,这个还不用说,查询性能方面影响也是巨大的 | |
本站网友 好看的韩国电影 | 14分钟前 发表 |
缓存:目前使用Redis,我看到有的公司使用的是memcache,这个10年前,就这样,功能非常的简陋不说,主要一个问题是会有死缓存,就是缓存怎么也清空不了,这个你想想就知道多悲剧了,商家修改了价格,怎么也改不了,最后只能关闭机器重启 | |
本站网友 光伏制造行业规范条件 | 8分钟前 发表 |
维护都不方便 | |
本站网友 动工仪式 | 11分钟前 发表 |
高并发的 静态化机制:velocity 图片服务器:购买占用服务器,用nginx做负载 安全框架apache shiro 搜索引擎: Lucene 中文分词:IKAnalyzer 服务器:Linux 中间件:tomcat | |
本站网友 南通出租 | 2分钟前 发表 |
velocity等,结果性能:velocity>freemarker>jsp,开发速度:velocity>freemarker>jsp 数据库设计: 1 | |
本站网友 爱客商务网 | 2分钟前 发表 |
这些需要一套解决方案 | |
本站网友 富通地产 | 17分钟前 发表 |
2 | |
本站网友 肾病专家 | 23分钟前 发表 |
下面整理下整个架构吧: 展示层/控制层 | |
本站网友 丹凤眼是什么样的 | 7分钟前 发表 |
服务器要求:linux/windows,4G内存,空间20G以上 架构图: 最后对于JAVA领域商城的开发,其实在PHP | |
本站网友 ctd | 10分钟前 发表 |
轻量,2 | |
本站网友 三大纪律八项注意歌 | 3分钟前 发表 |
freemarkder | |
本站网友 中国管理软件学院 | 18分钟前 发表 |
还有的公司使用的还是hibernate提供的ehcache,这个大家自行了解即可,关键是他做集有问题,搞电商不可能是单机的,刚上线至少是2台服务器 | |
本站网友 智造 | 7分钟前 发表 |
这些需要一套解决方案 | |
本站网友 平型关路1222号 | 11分钟前 发表 |
另外.ET语言大家都是知道的,它是不开源的,这个我觉得不敢用的,哪天你遇到致命bug了,没法从底层排查,这也是为什么银行 | |
本站网友 重庆钻石小鸟 | 20分钟前 发表 |
ecshop等等等,但是PHP的逻辑都是写在前台文件中,这个就跟JAVA中的逻辑都是写在了JSP中一样,这样虽然便于开发,但是后期二次开发 | |
本站网友 山东师范 | 2分钟前 发表 |
另外.ET语言大家都是知道的,它是不开源的,这个我觉得不敢用的,哪天你遇到致命bug了,没法从底层排查,这也是为什么银行 |