易购网上商城01

光何 光何     2022-08-22     588

关键词:

易购商城的第一天

1   安排计划

1、电商行业的背景。

2、易购商城的介绍。

3、工程项目的搭建。

2   电商行业介绍

2.1   电商行业技术特点

  • 技术新
  • 技术范围广
  • 分布式
  • 高并发、集群、负载均衡、高可用
  • 海量数据
  • 业务复杂
  • 系统安全

3   易购商城

3.1   易购商城简介

3.1.1   电商行业的模式:

B2B:企业对企业。阿里巴巴

B2C:企业对客户 淘宝,(京东B2B2C) 苏宁易购

C2C:客户对客户 闲鱼 赶集 友邻

O2O:线上对线下 百度外卖。美容到家。。。

3.1.2   易购商城的模式

易购网上商城是一个综合性的B2C平台,类似京东商城、天猫商城。会员可以在商城浏览商品、下订单,以及参加各种活动。

管理员、运营可以在平台后台管理系统中管理商品、订单、会员等。

客服可以在后台管理系统中处理用户的询问以及投诉。

3.2   功能模块

  

3.2.1   功能描述

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

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

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

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

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

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

3.3   技术架构

3.3.1   传统架构

  

传统项目架构问题:

1、  模块之间耦合度过高,其中一个升级其他都得升级

2、  开发困难,各个团队开发最后都要整合一起

3、  系统的扩展性差

4、  不能灵活的进行分布式部署。

解决方法:分布式设计

优点:

把模块拆分成独立的工程,单点运行。如果某一个点压力大可以对这一个点单独增加配置。其他的点不受影响。

缺点:

系统之间交互需要额外的工作量来进行接口的开发。

把系统拆分成多个工程,要完成系统的工程需要多个工程协作完成。这种形式叫做分布式。 

3.3.2   分布式的架构

分布式架构:

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

优点:

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

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

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

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

缺点:

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

3.3.3   技术选型(主要技术)

l  Spring、SpringMVC、Mybatis

l  JSP、JSTL、jQuery、jQuery plugin、EasyUI、KindEditor(富文本编辑器)、CSS+DIV

l  Redis(缓存服务器)

l  Solr(搜索)

l  httpclient(调用系统服务)

l  Mysql

l  Nginx(web服务器)

3.3.4   开发工具和环境

Eclipse 4.5.0(Mars),自带maven插件。

Maven 3.3.3(开发工具自带)

Tomcat 7.0.53(Maven Tomcat Plugin)

JDK 1.7

Mysql 5.5

Nginx 1.8.0

Redis 3.0.0

Win7 操作系统

4   后台管理系统工程搭建

4.1   Maven

优点:1,依赖注入。

2,可以使用maven一些插件,tomcat

3,完成热部署。

4.2   Maven的工程类型:

Jar:javaProject

War:webProject

Pom:创建maven的逻辑项目。如:parent,使用maven构建聚合项目。

4.3   父工程的搭建

父工程应该是一个pom工程。在父工程中定义依赖的jar包的版本信息。Maven插件的版本。 

4.3.1   安装本地仓库

使用.m2覆盖本地仓库的内容。

4.3.2   创建maven工程

 

4.3.3   修改pom文件

  1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3     <modelVersion>4.0.0</modelVersion>
  4     <groupId>com.ego</groupId>
  5     <artifactId>ego-parent</artifactId>
  6     <version>0.0.1-SNAPSHOT</version>
  7     <packaging>pom</packaging>
  8     <!-- 集中定义依赖版本号 -->
  9     <properties>
 10         <junit.version>4.12</junit.version>
 11         <spring.version>4.1.3.RELEASE</spring.version>
 12         <mybatis.version>3.2.8</mybatis.version>
 13         <mybatis.spring.version>1.2.2</mybatis.spring.version>
 14         <mybatis.paginator.version>1.2.15</mybatis.paginator.version>
 15         <mysql.version>5.1.32</mysql.version>
 16         <slf4j.version>1.6.4</slf4j.version>
 17         <jackson.version>2.4.2</jackson.version>
 18         <druid.version>1.0.9</druid.version>
 19         <httpclient.version>4.3.5</httpclient.version>
 20         <jstl.version>1.2</jstl.version>
 21         <servlet-api.version>2.5</servlet-api.version>
 22         <jsp-api.version>2.0</jsp-api.version>
 23         <joda-time.version>2.5</joda-time.version>
 24         <commons-lang3.version>3.3.2</commons-lang3.version>
 25         <commons-io.version>1.3.2</commons-io.version>
 26         <commons-net.version>3.3</commons-net.version>
 27         <pagehelper.version>3.4.2-fix</pagehelper.version>
 28         <jsqlparser.version>0.9.1</jsqlparser.version>
 29         <commons-fileupload.version>1.3.1</commons-fileupload.version>
 30         <jedis.version>2.7.2</jedis.version>
 31         <solrj.version>4.10.3</solrj.version>
 32     </properties>
 33     <!-- 只定义依赖的版本,并不实际依赖 -->
 34     <dependencyManagement>
 35         <dependencies>
 36             <!-- 时间操作组件 -->
 37             <dependency>
 38                 <groupId>joda-time</groupId>
 39                 <artifactId>joda-time</artifactId>
 40                 <version>${joda-time.version}</version>
 41             </dependency>
 42             <!-- Apache工具组件 -->
 43             <dependency>
 44                 <groupId>org.apache.commons</groupId>
 45                 <artifactId>commons-lang3</artifactId>
 46                 <version>${commons-lang3.version}</version>
 47             </dependency>
 48             <dependency>
 49                 <groupId>org.apache.commons</groupId>
 50                 <artifactId>commons-io</artifactId>
 51                 <version>${commons-io.version}</version>
 52             </dependency>
 53             <dependency>
 54                 <groupId>commons-net</groupId>
 55                 <artifactId>commons-net</artifactId>
 56                 <version>${commons-net.version}</version>
 57             </dependency>
 58             <!-- Jackson Json处理工具包 -->
 59             <dependency>
 60                 <groupId>com.fasterxml.jackson.core</groupId>
 61                 <artifactId>jackson-databind</artifactId>
 62                 <version>${jackson.version}</version>
 63             </dependency>
 64             <!-- httpclient -->
 65             <dependency>
 66                 <groupId>org.apache.httpcomponents</groupId>
 67                 <artifactId>httpclient</artifactId>
 68                 <version>${httpclient.version}</version>
 69             </dependency>
 70             <!-- 单元测试 -->
 71             <dependency>
 72                 <groupId>junit</groupId>
 73                 <artifactId>junit</artifactId>
 74                 <version>${junit.version}</version>
 75                 <scope>test</scope>
 76             </dependency>
 77             <!-- 日志处理 -->
 78             <dependency>
 79                 <groupId>org.slf4j</groupId>
 80                 <artifactId>slf4j-log4j12</artifactId>
 81                 <version>${slf4j.version}</version>
 82             </dependency>
 83             <!-- Mybatis -->
 84             <dependency>
 85                 <groupId>org.mybatis</groupId>
 86                 <artifactId>mybatis</artifactId>
 87                 <version>${mybatis.version}</version>
 88             </dependency>
 89             <dependency>
 90                 <groupId>org.mybatis</groupId>
 91                 <artifactId>mybatis-spring</artifactId>
 92                 <version>${mybatis.spring.version}</version>
 93             </dependency>
 94             <dependency>
 95                 <groupId>com.github.miemiedev</groupId>
 96                 <artifactId>mybatis-paginator</artifactId>
 97                 <version>${mybatis.paginator.version}</version>
 98             </dependency>
 99             <dependency>
100                 <groupId>com.github.pagehelper</groupId>
101                 <artifactId>pagehelper</artifactId>
102                 <version>${pagehelper.version}</version>
103             </dependency>
104             <!-- MySql -->
105             <dependency>
106                 <groupId>mysql</groupId>
107                 <artifactId>mysql-connector-java</artifactId>
108                 <version>${mysql.version}</version>
109             </dependency>
110             <!-- 连接池 -->
111             <dependency>
112                 <groupId>com.alibaba</groupId>
113                 <artifactId>druid</artifactId>
114                 <version>${druid.version}</version>
115             </dependency>
116             <!-- Spring -->
117             <dependency>
118                 <groupId>org.springframework</groupId>
119                 <artifactId>spring-context</artifactId>
120                 <version>${spring.version}</version>
121             </dependency>
122             <dependency>
123                 <groupId>org.springframework</groupId>
124                 <artifactId>spring-beans</artifactId>
125                 <version>${spring.version}</version>
126             </dependency>
127             <dependency>
128                 <groupId>org.springframework</groupId>
129                 <artifactId>spring-webmvc</artifactId>
130                 <version>${spring.version}</version>
131             </dependency>
132             <dependency>
133                 <groupId>org.springframework</groupId>
134                 <artifactId>spring-jdbc</artifactId>
135                 <version>${spring.version}</version>
136             </dependency>
137             <dependency>
138                 <groupId>org.springframework</groupId>
139                 <artifactId>spring-aspects</artifactId>
140                 <version>${spring.version}</version>
141             </dependency>
142             <!-- JSP相关 -->
143             <dependency>
144                 <groupId>jstl</groupId>
145                 <artifactId>jstl</artifactId>
146                 <version>${jstl.version}</version>
147             </dependency>
148             <dependency>
149                 <groupId>javax.servlet</groupId>
150                 <artifactId>servlet-api</artifactId>
151                 <version>${servlet-api.version}</version>
152                 <scope>provided</scope>
153             </dependency>
154             <dependency>
155                 <groupId>javax.servlet</groupId>
156                 <artifactId>jsp-api</artifactId>
157                 <version>${jsp-api.version}</version>
158                 <scope>p

苏宁易购亿万级商品评价系统的架构演进之路和实现细节

苏宁易购评价系统跟随着易购商城的业务发展,经历了从Commerce系统拆分再到系统全面重构的整个历程。如何满足系统流量的日益增长,在提升系统性能和满足稳定性和可扩展性的要求的同时,向目标系统架构一步步平滑靠近,... 查看详情

商城项目01_电商系统基本模式分布式基础概念微服务架构图微服务划分图(代码片段)

...说的商业零售,直接面向消费者销售产品和服务。如:苏宁易购、京东、天猫、小米商城你去超市买东西②.B2B2C模式企业对企业对个人我是一家公司,开发天猫、京东平台,企业可以入住平台,对外提供课程供 查看详情

商城项目01_电商系统基本模式分布式基础概念微服务架构图微服务划分图(代码片段)

...说的商业零售,直接面向消费者销售产品和服务。如:苏宁易购、京东、天猫、小米商城你去超市买东西②.B2B2C模式企业对企业对个人我是一家公司,开发天猫、京东平台,企业可以入住平台,对外提供课程供 查看详情

苏宁易购易付宝注销教程

几年前,在苏宁抢手机,但要实名,无柰实名后发现苏宁易购不给注销,个人信息全在上面,等了四年,终于等到了苏宁易购更新服务条款了。于是乎寻找注销方法,直接找到了客服。  于是按照客服的方法来一波 进... 查看详情

踏过沟壑,苏宁易购终将价值回归

7月5日晚间,苏宁易购发布了股权转让的最新方案,将引入新新零售基金二期的战投。这则重磅消息,无疑为苏宁易购的几十万投资者注入了一针强心剂。当尘埃落定,一切开始向好发展,苏宁易购已经度过了... 查看详情

苏宁易购价格爬取

如果商品地址为:http://product.suning.com/0070230548/10608983060.html则价格地址:http://pas.suning.com/nspcsale_0_000000010608983060_000000010608983060_0070230548_20_021_0210101_500353_1000267_9264_12113_Z001___R90 查看详情

新苏宁易购再出发获银行百亿新增授信支持

近日,苏宁易购联合授信委员会在南京成立。同时,江苏银行、南京银行、建设银行、工商银行、农业银行和中国银行等六家银行,率先为苏宁易购新增百亿授信,进一步支持苏宁易购提升零售服务和供应链能力... 查看详情

苏宁易购11.11:商品详情系统架构设计

...买的入口。它是电商平台中访问量最大的系统之一,苏宁易购大促期间PV量和UV量很大,这么大的访问量对系统的并发能力要求高。在业务上它与周边系统的关系是高耦合。依赖商品详情系统的的系统特别多,比如:促销系统、... 查看详情

挺进家居新赛道,苏宁易购零售云3.0门店盈利提升

8月11日,苏宁易购零售云召开4周年业务发布会,宣布深化家电、家居一站式融合发展,升级3.0门店模型,提升效益。苏宁易购零售云副总裁张辉表示:“中国家居市场品牌集中度低,蕴藏发展潜力。零售... 查看详情

苏宁易购发全员信:双十一销售目标全面完成力争11月ebitda转正

11月22日,苏宁易购发布致全体员工信称,双十一销售目标全面完成,力争实现11月EBITDA(税息折旧及摊销前利润)转正。全员信还透露,已经为10月达成销售目标的2464名员工兑现奖励。 苏宁易购董事长黄... 查看详情

苏宁易购明确2022年目标:加快修复经营,实现全年盈利

4月29日,苏宁易购发布2021年年度报告及2022年一季报。报告显示,在江苏省、南京市政府以及产业投资人的支持下,苏宁易购积极推进降本、提效、增收工作,从去年四季度开始,公司经营状况发生积极改善&#x... 查看详情

淘淘商城01-展示页面

一、展示后台管理页面。  1、如下图所示,jsp页面和请求页面的url是相同的。  2、写一个通用的controller处理这样的请求。  查看详情

新版淘淘商城_01_简介

...海量数据业务复杂系统安全1.  淘淘商城介绍淘淘网上商城是一个综合性的B2C平台,类似京东商城、天猫商城。会员可以在 查看详情

淘淘商城01——工程介绍及搭建(代码片段)

一、淘淘商城介绍淘淘网上商城是一个综合性的B2C(商家到用户)平台,类似京东商城、天猫商城。会员可以在商城浏览商品、下订单,以及参加各种活动。管理员、运营可以在平台后台管理系统中管理商品、订单等。客服可以... 查看详情

商城项目_目录

...存,八小时之外求发展。很开心和大家一起分享谷粒商城,持续更新中!!!商城项目01_电商系统基本模式、分布式基础概念、微服务架构图、微服务划分图商城项目02_环境搭建、安装VAGRANT、DOCKER、MYSQL、REDIS、从0... 查看详情

项目01-javaweb网上书城01之工具类(代码片段)

1.项目中用到的小工具 1.CommonUtils  CommonUtils类就两个方法:    1.Stringuuid():生成长度32的随机字符,通常用来做实体类的ID。底层使用了UUID类完成;    2.TtoBean(Map,Class<T>):把Map转换成指定类型的Bean对象。通... 查看详情

ssm商城系统开发笔记-配置01-web.xml

先占坑慢慢填,商城系统使用主体框架:Spring+SpringMVC+Mybatis其他框架: 日志:slf4j+logback  <!DOCTYPEweb-appPUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd"&g 查看详情

移动端布局总结

...制作移动端页面(主流)京东商城手机版淘宝触屏版苏宁易购手机版....2.响应式页面兼容移动端(其次)三星手机官网....移动端技术选型?流式布局(百分比布局)?flex弹性布局(推荐)?rem适配布局(推荐)?响应式布局建议:选... 查看详情