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

淘淘商城_0100_前言

好记性不如烂笔头,寄点东西吧!大神请略过此系列文章,,,淘淘商城是传智播客发布的视频教程,里头涉及的技术点挺多的,之前看过一部分,感觉不错,但是过段时间又忘了,智商一直是我的硬伤,还是寄点东西吧!为了

好记性不如烂笔头,寄点东西吧!大神请略过此系列文章,,,

淘淘商城是传智播客发布的视频教程,里头涉及的技术点挺多的,之前看过一部分,感觉不错,但是过段时间又忘了,

智商一直是我的硬伤,还是寄点东西吧!

为了完整性,把一些文档也贴出来吧!虽然用处不大。。

1   课程计划

一共14天课程

1、第一天:电商行业的背景。淘淘商城的介绍。搭建项目工程。Svn的使用。

2、第二天:框架的整合。后台管理商品列表的实现。分页插件。

3、第三天:后台管理。商品添加。商品类目的选择、图片上传、富文本编辑器的使用。

4、第四天:商品规格的实现。

5、第五天:商城前台系统的搭建。首页商品分类的展示。Jsonp。

6、第六天:cms系统的实现。前台大广告位的展示。

7、第七天:cms系统添加缓存。Redis。缓存同步。

8、第八天:搜索功能的实现。使用solr实现搜索。

9、第九天:商品详情页面的展示。

10、第十天:单点登录系统。Session共享。

11、第十一天:购物车订单系统的实现。

12、第十二天:nginx。反向代理工具。

13、第十三天:redis集群的搭建、solr集群的搭建。系统的部署。

14、项目总结。

 

1   电商行业介绍

1.1   电商行业发展

 近年来,中国的电子商务快速发展,交易额连创新高,电子商务在各领域的应用不断拓展和深化、相关服务业蓬勃发展、支撑体系不断健全完善、创新的动力和能力 不断增强。电子商务正在与实体经济深度融合,进入规模性发展阶段,对经济社会生活的影响不断增大,正成为我国经济发展的新引擎。

    中国电子商务研究中心数据显示,截止到2012年底,中国电子商务市场交易规模达7.85万亿人民币,同比增长30.83%。其中,B2B电子商务交易额 达6.25万亿,同比增长27%。而2011年全年,中国电子商务市场交易额达6万亿人民币,同比增长33%,占GDP比重上升到13%;2012年,电 子商务占GDP的比重已经高达15%。预计2013年我国电子商务规模将突破十万亿大关。

      图1.2009-2014年中国电子商务市场交易规模(万亿元)

2.2  

2.3   电商行业技术特点

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

 

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、  不能灵活的进行分布式部署。

解决方法:

优点:

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

缺点:

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

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

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

插播:  提高服务能力的方式

两个概念:

纵向扩展:提高硬件,集群。  横向扩展:分布式。

1,部署集群、提高硬件配置

多个tomcat跑同一套代码叫集群。

传统架构,小型的网站,开始是单工程,部署到一个tomcat,没问题。等用户增多,流量增加,一个tomcat无法满足需求,可以再部一个tomcat,配置tomcat集群,提高服务能力。用户量继续增多,当两个tomcat也不行时,可以增加硬件配置,增加cpu,增加内存,硬盘空间,提高带宽,也能解决问题。

2,分布式,将应用拆成互不相干的几个应用:

2.1前后台分离:

 如果用户量爆炸式增长,刚开始前台和后台是在一个工程,但是后台只是运营人员用,并不需要那么大的并发量,此时可以把前台和后台分开。前后台只是在数据库层面上联系,后台维护商品信息到数据库,前台取数据做展示。

2.2把不同的模块拆分成不同工程:

不同的模块访问量是不一样的,如首页,可能有1000人访问,但是可能只有几个人下订单,所以把前台都部署集群也不太科学,压力最大的就是商品浏览模块,此时可以把商品浏览和订单模块拆分成两个工程,根据压力不同的部署集群,提高单点服务能力。提高系统扩展性。能灵活的进行分布式部署。此时需要解决系统之间通信的问题。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

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插件,需要手工安装svn插件。

Maven 3.3.3(开发工具自带)

Tomcat 7.0.53(Maven Tomcat Plugin)

JDK 1.7

Mysql 5.6

Nginx 1.8.0

Redis 3.0.0

Win7 操作系统

SVN(版本管理)

 


推荐阅读
  • 本文总结了一些开发中常见的问题及其解决方案,包括特性过滤器的使用、NuGet程序集版本冲突、线程存储、溢出检查、ThreadPool的最大线程数设置、Redis使用中的问题以及Task.Result和Task.GetAwaiter().GetResult()的区别。 ... [详细]
  • 小程序的授权和登陆
    小程序的授权和登陆 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • MySQL 5.7 学习指南:SQLyog 中的主键、列属性和数据类型
    本文介绍了 MySQL 5.7 中主键(Primary Key)和自增(Auto-Increment)的概念,以及如何在 SQLyog 中设置这些属性。同时,还探讨了数据类型的分类和选择,以及列属性的设置方法。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 该大学网站采用PHP和MySQL技术,在校内可免费访问某些外部收费资料数据库。为了方便学生校外访问,建议通过学校账号登录实现免费访问。具体方案可包括利用学校服务器作为代理,结合身份验证机制,确保合法用户在校外也能享受免费资源。 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • 本文汇集了我在网络上搜集以及在实际面试中遇到的前端开发面试题目,并附有详细解答。无论是初学者还是有一定经验的开发者,都应深入理解这些问题背后的原理,通过系统学习和透彻研究,逐步形成自己的知识体系和技术框架。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
author-avatar
web+php
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有