首页 > 代码库 > 关于项目搭建

关于项目搭建

一、电商模式:

B2B:商家到商家。阿里巴巴,慧聪网、铭万网。

B2C:商家到用户。京东。

C2C:用户到用户。淘宝。

B2B2C:商家到商家到用户。天猫。(相当于商场)

O2O:线上到线下。百度外卖、美团、饿了么。

二、网站功能列表

后台管理系统:管理商品、订单、类目、商品规格属性、用户管理以及内容发布等功能。

前台系统:用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等操作。

会员系统:用户可以在该系统中查询已下的订单、收藏的商品、我的优惠券、团购等信息。

订单系统:提供下单、查询订单、修改订单状态、定时处理订单。

搜索系统:提供商品的搜索功能。

单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息。

 

三、杂乱

1、一个ip对应一个服务器地址

2、当tomcat集群中节点数量增加,服务能力先增加后下降。所以集群中节点数量不能太多,一般也就5个左右。

3、一般能够通过硬件解决的,不通过软件解决

4、一个节点对应一个服务器

5、httpclient:这个工具可以模拟一个浏览器,发送请求用的,可以做爬虫

6、pagehelper:mybatis的分页 插件

7、项目——>Java EE Tools——>Generate Deployment Descriptor Stub.然后系统会在src/main/webapp/WEB_INF文件加下创建web.xml文件。错误解决!

8、manager和manager-controller都可以导入tomcat插件,但是推荐运行manager因为controller需要依赖其他模块,那些模块需要安装到本地仓库才能运行,如果其他模块有任何变化都需要重新安装一次才能生效。运行manager聚合工程不存在这个问题,聚合工程知道自己底下有多少模块,不需要重新安装,所以运行很方便

9、互联网查询尽可能做单表查询,一方面效率高,一方面可以作缓存,减小服务器压力

 

 

四、分布式:

需要按照功能点把系统拆分,拆分成独立的功能。单独为某一个节点添加服务器。需要系统之间配合才能完成整个业务逻辑。叫做分布式。

分布式架构:多个子系统相互协作才能完成业务流程。系统之间需要进行通信。

集群:同一个工程部署到多台服务器上。

分布式架构:

把系统按照模块拆分成多个子系统。

优点:

把模块拆分,使用接口通信,降低模块之间的耦合度。

把项目拆分成若干个子项目,不同的团队负责不同的子项目。

增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。

可以灵活的进行分布式部署。

 

缺点:

1、系统之间交互需要使用远程通信,接口开发增加工作量。

2、各个模块有一些通用的业务逻辑无法共用。

五、SOA

SOA:Service Oriented Architecture面向服务的架构。也就是把工程拆分成服务层、表现层两个工程。服务层中包含业务逻辑,只需要对外提供服务即可。表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。

六、Dubba

七、后台搭建分析:

e3-parent:父工程,打包方式pom,管理jar包的版本号

Pom文件中集中定义版本号,<properties><<junit.version>4.12</junit.version>

集中声明各种jar包,<dependencyManagement><dependency><groupId><artifactId><vsersion>定义在dependencyManagement中只是声明,还不会去下载jar包到本地仓库中,由子工程按需去配置自己依赖(子工程不需要version)

集中定义插件:<build><pluginManagement><plugins><plugin>

    |           项目中所有工程都应该继承父工程。

|--e3-common:通用的工具类通用的pojo。打包方式jar

|--e3-manager:服务层工程。聚合工程。Pom工程

|--e3-manager-dao:打包方式jar

|--e3-manager-pojo:打包方式jar

|--e3-manager-interface:打包方式jar

|--e3-manager-service:打包方式:jar

    |--e3-manager-web:表现层工程。打包方式war

八、mybatis逆向工程

mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.Java,mapper.xmlpo..

有了sql表的结构后, 我们就可以利用逆向工程直接生成相应的DaoJavaBean代码, 这样能够大大减少我们平时开发的工作量.

关于项目搭建