论文网
首页 理科毕业计算机毕业正文

基于JAVA的网上商城构建

  • 投稿
  • 更新时间2018-07-08
  • 阅读量157次
  • 评分0
  • 0
  • 0

  摘要:近年来,中国的电子商务快速发展,交易额连创新高,电子商务在各领域的应用不断拓展和深化、相关服务业蓬勃发展、支撑体系不断健全完善、创新的动力和能力不断增强。电子商务正在与实体经济深度融合,进入规模性发展阶段,对经济社会生活的影响不断增大,正成为我国经济发展的新引擎。网上商城是一个综合性的B2C平台。会员可以在商城浏览商品、下订单,以及参加各种活动。管理员、运营可以在平台后台管理系统中管理商品、订单、会员等。客服可以在后台管理系统中处理用户的询问以及投诉。


  关键词:电子商务;网上商城;分布式;主流框架;高并发


  中图分类号:TP393文献标识码:A文章编号:1009-3044(2018)01-0094-02


  现阶段中国的电子商务平台发展迅猛,涵盖了现代人的衣食住行,赚取巨大利润的同时也极大地方便了人们的生活,为人们的生活带来了巨大的改变。电子商务一定意义上也改变了人们传统的消费思维模式。电子商务交易的规模也逐年上涨,如图1所示。同时也吸引了越来越多的人用互联网的思维去考虑传统行业的新模式,新思路。归结到商业平台上,最终还是会使用一个商城的模式。


  1商城的整体架构


  针对商城的复杂性,所以在系统的搭建的建构选择方面我们会选用soa架构。所谓的soa就是通过将后台的系统进行拆分,每个功能对应一个后台系统。这样降低了系统的耦合度,同时保证了系统的稳定性和处理多个任务的高效。系统的之间的通讯方式使用dubbo框架。Dubbo作为服务中间键,它的作用就是使系统之间的方法能够进行相互的调用。


  如图2所示,前段页面中的订单系统,会员系统,前台系统,后台系统以及搜素系统,接入的是不同项目的服务层入口,每个项目的服务层针对性的处理不同前台发过来的请求。最终完成数据库的存取工作。


  2商城基本功能的介绍


  一个商城的功能逻辑模块清楚之后还有一些问题需要解决。比如当同样的商品被多次查询后会加大与数据库的交互,对于一个大型的电商平台而言这是比较致命的,可能会导致数据的崩溃。因而针对这点我们应该使用缓存技术。如图3式。首次进行商品查询得到的结构我们将用json数据的格式进行分装,同时将其保存到缓存数据库中。


  针对索引库的建立我们是基于solor框架。其作用流程如图4所示。Solor的使用是基于一个分词工具。也就是说存入solor中的数据的关键词将会被分词器所拆分。因此在人们进行检索的时候就可以查到关键词。在前端请求进入到持久层后,首先并不会先去数据库中进行检索,而是先会去索引库中进行检索。如果能有数据就会直接返回结果。当然索引库的更新依然是一个问题。显存的解决方案大致是包括两种。一种做法是每每在后台添加了一种商品之后,就自动同步到索引库,但是这样就会比较浪费资源。所以现在比较流行的做法是定时更新。一般会规定在晚上访问量不大的情况下进行定时刷新索引库。


  3商城框架使用


  现在市场上流行的网上商城大都是基于java语言进行开发。因为java相对于其他语言如php,python,nojs而言,它的解决方案更多,同时它对大数据的处理能力更强。现行的java一般对于请求是进行三段式处理,即表现层,服务层和持久层。针对三层式的结构,现在市场上流行的框架也很多。针对表现层,流行的框架包括springmvc和struts2,以及已经过时的struts1。针对服务层,现在主流的框架仍然是spring。针对持久层的框架,主流的框架包括mybatis和hibernate。两者不同之处在于处理sql语句的不用。Mybatis更加灵活,但是语句的可读性也比较差。Hibernate是针对对象的模型进行数据库的调用,可读性比较好,但是sql语句比较固定。针对三层的任务,表现层是接受前端发来的请求,同时交给服务层,最后将从数据库中检索的数据返回到前段页面。服务层是将请求的进行一个逻辑管理,最后请求相应的数据库,最后将请求到的数据返回给表现层。而持久层的作用就是接受请求,最后调用数据库,最终将数据传递给服务层。


  4针对并发量问题的解决方案


  针对并发量的问题,现在处理的方式也是综合性的,包括静态页面技术,项目的分布式结构,nginx反向代理技术。一个tomcat或者jetty亦或者jboss这种服务器的承载访问量大致是在500左右,如果多个服务器叠加访问量也不是一个加效果,所以针对这个关键性的问题,主流技术是在各个环节上进行改善。首先是页面的访问采用静态页面技术,不是所有的访问都会调用程序的逻辑机制。查到的数据会填写到一个逻辑模板中,也就是一個静态的html页面上。也就是说表现层不用就耗费资源去进行一个页面的渲染工作。现在比较流行的框架是freemark。针对项目部署方面的工作,nginx是一个很大程度提升网站访问量的工具。我们一般可以在多个服务器上进行项目的部署,然后将服务器的地址写入到nginx中,同时也可以分配服务器的访问权重。最后用户进行访问的时候是有nginx作为一个访问的入口,进行一个均衡的访问。合理的运用这些技术访问量大致可以保持在百万级。当然如果有更高的访问需求,就可以考虑消息队列机制的框架进行优化,如ActivityMQ。


  作者:周琼伟