热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

大型分布式Java项目宜立方商城

宜立方商城是我在学习完JavaWeb及三大框架的知识,并对大型项目的Java中间件有一定的了解后以巩固知识为目的做的练习项目,本文是我对该项目做的一个简

宜立方商城是我在学习完JavaWeb及三大框架的知识,并对大型项目的Java中间件有一定的了解后以巩固知识为目的做的练习项目,本文是我对该项目做的一个简单介绍


文章目录

  • 一.项目简介
  • 二.项目架构及涉及的主要技术
    • 项目架构
    • 项目使用的主要技术
  • 三.项目功能
    • 1.后台管理
    • 2.商城门户
    • 3.商品搜索


一.项目简介

宜立方商城是一个综合性的B2C平台,架构模仿京东商城、天猫商城,该平台主要提供两种服务:一,买家可以在商城浏览商品、下订单,以及参加各种活动。二,管理员,运营可以在平台后台管理系统中管理商品、订单、会员等
宜立方商城项目使用Java的SSM框架处理后端业务,同时使用了Dubbo框架,是一个分布式支持高并发的商城项目。数据库选择MySQL集群,缓存使用Redis集群,使用Solr框架实现商品搜索
项目GitHub地址:https://github.com/JavaStudenttwo/E3Mall


二.项目架构及涉及的主要技术


项目架构

如下图所示,整个项目(e3-parent)由多个子项目(e3-manager等)聚合而成,每个子项目各是一个独立可部署的JavaWeb项目(可以放到Tomcat中运行),各项目通过Dubbo实现项目间服务调用,使得整个项目可以实现分布式部署。这种架构是分布式Java项目常采用的架构模型
描述
下图是商城运作的逻辑模型,整个项目分为三个层次,表现层,服务层和持久层,每个层次各有几个工程来实现相关功能。表现层主要负责展示服务层提供的信息,包括图片,数据等,服务层则主要负责处理业务逻辑,持久层负责存储数据。其中,需要程序员关注的主要是表现层和服务层。
表现层分为五个系统,每个系统各实现不同的功能,为各个系统分别建立一个子项目来实现其功能。如商城门户系统,对应上图的e3-portal-web项目,主要负责商城页面的展示;搜索系统,对应上图的e3-search-web项目,主要负责前台搜索数据的提起及搜索结果的展示。服务层各系统同理,各对应一个子项目。
部署时每个子项目放到一个服务器中运行,这种部署方式就是分布式部署。
在这里插入图片描述


项目使用的主要技术


  • Dubbo:实现项目间服务调用,是分布式项目必须使用的框架,和它实现同一功能的另一框架是SpringCloud
  • Solr:使用Luncene作为内核的搜索框架
  • Redis:非关系型数据库,在该项目中用于商品数据缓存
  • SSM框架:处理业务逻辑
  • MyCat:存储数据
  • Nginx:负载均衡处理

三.项目功能


1.后台管理

给管理员使用的商品管理系统,前端使用EasyUI框架,简化开发
后台管理主要涉及表现层的后台管理系统及服务层的后台管理服务,分别对应子项目e3-manager和e3-manager-web,e3-manager-web项目中包含了后台管理系统的页面,和Controller层,e3-manager项目包含了service层和dao层及其他库文件,e3-manager-web中的Controller层调用e3-manager中的服务来处理后台管理中的业务逻辑
后台管理系统页面:
在这里插入图片描述
整个商城所有商品的数据查询显示:
在这里插入图片描述
商品添加:
在这里插入图片描述
商品类别查询:
在这里插入图片描述
商品类别管理:添加删除修改商品类别
在这里插入图片描述


2.商城门户

展示商城首页,商品首页包含各种商品的图片信息及特殊活动(如双十一)入口
主要由两个子项目实现e3-portal-web和e2-content,e3-content商品内容工程要将所有首页需要展示(并非所有商品)的商品缓存到Redis数据库中,提高首页打开的速度

在这里插入图片描述


3.商品搜索

根据关键字搜索并展示商品
先由e3-search子项目使用Solr框架,完成对所有商品的信息提取,建立一个Solr索引库,然后由e3-search-web子项目根据关键字查询相关数据并展示商品详情页面
商品搜索:
在这里插入图片描述
Solr索引库:
在这里插入图片描述


推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 微信官方授权及获取OpenId的方法,服务器通过SpringBoot实现
    主要步骤:前端获取到code(wx.login),传入服务器服务器通过参数AppID和AppSecret访问官方接口,获取到OpenId ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • 本文介绍了自学Vue的第01天的内容,包括学习目标、学习资料的收集和学习方法的选择。作者解释了为什么要学习Vue以及选择Vue的原因,包括完善的中文文档、较低的学习曲线、使用人数众多等。作者还列举了自己选择的学习资料,包括全新vue2.5核心技术全方位讲解+实战精讲教程、全新vue2.5项目实战全家桶单页面仿京东电商等。最后,作者提出了学习方法,包括简单的入门课程和实战课程。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
author-avatar
PHP_sunshine
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有