论坛首页 Java企业应用论坛

大型Java多用户商城系统设计开发的心得和困难

浏览 187447 次
该帖已经被评为精华帖
作者 正文
   发表时间:2012-05-17  
qychen 写道
onecan 写道
刚才review了整个帖子,也该做个总结了,总不能虎头蛇尾的,看到到不同朋友的意见,对于我本人也是获益良多。收到了十来个精华贴的投票,也有一些朋友加入了关注,这点还是比较高兴的。上面提到了需要采用图表方式来表达整个系统的,可能要缓一下了,因为我们将会采纳部分意见和根据现有用户的需求来改进我们的系统,例如缓存/模板/搜索等方面。我们将会基于最新的代码来重整思路,届时会图表/文档/代码方式上传上来的。 争取在代码开源的时候能少些批评,多些建议。我们的目标是很简单的,要做Java版的ecshop和ecmall, 使得Java商城相对火起来,商家能用免费或者比较便宜的价格来享用高性能的JAVA商城服务,这些跟技术关系不大,将会在以后的帖子再讨论。 同时我相信那些搞JSP空间和云空间的运营商是比较高兴和支持我们的。另外我们以前在google code发布过代码的,也发布了2个Demo的地址, ITEYE貌似不喜欢我们发外连接,这里就不说了。心急的朋友自己google了。目前Java商城一般只是处于起步阶段,借助开源的力量也许能有的一玩。呵呵
最后非常感谢ITEYE提供的这个平台,能让大家一起交流进步。敬请期待我们更精彩的博文和开源进程。

支持网络协作开发么?可以贡献写代码,把它做好

支持,目前我们采用SVN进行开发,貌似用git比较好支持协作开发,研究研究准备换。
0 请登录后投票
   发表时间:2012-05-22  
关键不是什么技术,是要验证您的商业模式是不是可行?是不是能得到市场认可?技术以后量上去了再改都来得及。您说的是创业项目,这种情况一般都拿自己的钱做事,而自己通常都没有多少钱(如果是富二代,官二代就当我的话没说),其他东西都有重来的机会,但是按照您的商业计划,把所有东西全部实现了,然后再验证,如果商业模式不适合市场一般就没有重来的机会了。

要做好迭代,能上去先上去一个,尽量保持低成本的前提下。
1 请登录后投票
   发表时间:2012-06-19  
研究了很长时间没有用明白,urlrewrite也试过。
还得研究,mark一下
0 请登录后投票
   发表时间:2012-06-19  
这么多人回复,很热门啊
0 请登录后投票
   发表时间:2012-06-28  
这样的有结构和思路的文章,刚入门的童鞋得先看看..这样也知道自己日后大体可以学得有多少...可怜大多人都没办法看到..资料太多了..
0 请登录后投票
   发表时间:2012-07-04  
grandboy 写道
关键不是什么技术,是要验证您的商业模式是不是可行?是不是能得到市场认可?技术以后量上去了再改都来得及。您说的是创业项目,这种情况一般都拿自己的钱做事,而自己通常都没有多少钱(如果是富二代,官二代就当我的话没说),其他东西都有重来的机会,但是按照您的商业计划,把所有东西全部实现了,然后再验证,如果商业模式不适合市场一般就没有重来的机会了。

要做好迭代,能上去先上去一个,尽量保持低成本的前提下。

同感,楼主我不知道有几个人,有几个月的时间作上线。
如果按照现在的这样的铺开来去做的,估计成本会难以控制。最好还是一点点上线比较好
1 请登录后投票
   发表时间:2012-07-04  
nanjingjiangbiao 写道
grandboy 写道
关键不是什么技术,是要验证您的商业模式是不是可行?是不是能得到市场认可?技术以后量上去了再改都来得及。您说的是创业项目,这种情况一般都拿自己的钱做事,而自己通常都没有多少钱(如果是富二代,官二代就当我的话没说),其他东西都有重来的机会,但是按照您的商业计划,把所有东西全部实现了,然后再验证,如果商业模式不适合市场一般就没有重来的机会了。

要做好迭代,能上去先上去一个,尽量保持低成本的前提下。

同感,楼主我不知道有几个人,有几个月的时间作上线。
如果按照现在的这样的铺开来去做的,估计成本会难以控制。最好还是一点点上线比较好


开发大型商城 本来就是工作量很大的项目,而且可能需要不断的维护 调整。
不要轻易动手。
0 请登录后投票
   发表时间:2012-07-04   最后修改:2012-07-04
开发一个商城确实是不容易的,尤其采用java来做,因为java程序员本来都比较贵,开发也不是特别快,因此我们争取采用最新最流行的框架来化减开发工作量,同时也采用约定俗成方式和代码生成手段。有人说开发更全面的功能全面超越php商城,这个暂时不可能的,开发的钱哪里来,程序员也要吃饭的。等开发出来没有人买单是不是要自己买单阿?何况国内的需求是多种多样的,我们只要慢慢做好通用部分即可。有客户买单来提出新需求来,如果是通用的就返回产品线上即可,这样以项目来养产品,产品也得到继续升级和发展。由于成本,技术方面等,国内外很少java方向的商城系统也不是没有道理的。一个好的系统是需要经过多次迭代才能慢慢完善,既是现在系统是越来越复杂,也能保持良好的条理性,越来越体会到接口,抽象,设计模式的好处, 后发制人也许也是java的其中一个优势。
0 请登录后投票
   发表时间:2012-07-04  
onecan 写道
  看来大家认为hibernate不太合适做互联网,我曾经也想过是否要换掉Hibernate呢,要用什么来换呢?但想来想去就目前的情况还是hibernate最合适我们。这个要从我们目前的定位和客户需求讲起,我们目标要使得那些使用廉价jsp空间的用户也能使用我们的系统,而且这部分对于我们的推广而言是不可缺少的,
  基本的配置能支撑他们能有多大的访问量? 曾经看到一些数据说国内的大型团购网站的日PV也就是在千万级别,转化为transaction/second = 10000000 / 24/ 3600 = 115.74, 理想状态下每秒只要支持115个请求,一天就能接受1千万的点击量。算高峰值*10 = 115.74, 而单个mysql最大支持的tps也能上到1000个tps,
  加上cache,静态页面等已经分担了不少数据库的压力,所以说1台mysql可以支持千万级的日pv的访问量了。前面假设性能弱点在于数据库的情况下,而对于前面可以有apache tomcat等级群在挡着。分表分库离我们的需求还有十万八千里,不过hibernate也可以分的,这个就不在这里展开讲了。
  要换掉hibernate的一个原因是我们系统一启动就会吃掉100m的内存,导致部分人出现out of memery. 把hibernate的二级缓存取掉貌似已经降到50-60m了,尚算还可以接受,最新的缓存机制正在研究中。老师曾教导:饭要一口一口吃,路要一步一步走,一个良好的系统是不能一蹴而就的。

你的算法不对,一个页面可能会有很多个widget组成,会有超过几十个http request可能。tps只是一个参考标准,还有很多其他的衡量网站性能的指标。多个并发用户很容易就搞死你的,我们的网站就有这个问题。如果你的网站大部分都是静态的,或者频率不很频繁,可以考虑前面架设反向代理。
从企业电子商务来看,一台服务器很难保证24*7,要考虑部署升级维护等问题。如果多台session同步怎么做?缓存的策略怎么做?缓存的命中率是不是有意义的呢。mysql的机群好像也不容易搭建吧。
对了,我们也在用mybatis替换hi,那个实在实在用起来不够灵活。关系型数据库和对象本身就是不一样的设计理念,慎用。
1 请登录后投票
   发表时间:2012-07-05  
onecan 写道
开发一个商城确实是不容易的,尤其采用java来做,因为java程序员本来都比较贵,开发也不是特别快,因此我们争取采用最新最流行的框架来化减开发工作量,同时也采用约定俗成方式和代码生成手段。有人说开发更全面的功能全面超越php商城,这个暂时不可能的,开发的钱哪里来,程序员也要吃饭的。等开发出来没有人买单是不是要自己买单阿?何况国内的需求是多种多样的,我们只要慢慢做好通用部分即可。有客户买单来提出新需求来,如果是通用的就返回产品线上即可,这样以项目来养产品,产品也得到继续升级和发展。由于成本,技术方面等,国内外很少java方向的商城系统也不是没有道理的。一个好的系统是需要经过多次迭代才能慢慢完善,既是现在系统是越来越复杂,也能保持良好的条理性,越来越体会到接口,抽象,设计模式的好处, 后发制人也许也是java的其中一个优势。


这种思路不错,所谓以战养战,罗马不可以一天建成的,淘宝网也一直还在改。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics