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

大数据互联网架构阶段电商项目简介

电商项目简介零、目录电商项目特点电商项目技术难点电商项目简介开发工具电商项目架构开发环境一、电商项目特点分布式

电商项目简介

零、目录

  • 电商项目特点
  • 电商项目技术难点
  • 电商项目简介
  • 开发工具
  • 电商项目架构
  • 开发环境

一、电商项目特点

  1. 分布式
    1. 数十台服务器,甚至百台、千台、万台,包括:Nigix负载均衡集群、Tomcat集群、Redis缓存集群、RabbitMQ消息队列集群、MySQL主从、Solr全文检索集群等。
    2. 分布式集群
      1. 分布式:单个任务拆分成众多的子任务,单个实例完成其中之一,众多实例合作完成一个任务的过程;
      2. 集群:从任务为单位的角度区分,集群属于单个实例完成单个任务,集中单例群体完成整体功能的过程
  2. 高并发
    1. 要面对高并发用户,大流量访问。Google日均PV数35亿,日均IP访问数3亿。腾讯QQ最大在线人数4亿。淘宝2015年“双十一”,活动交易额975亿,2016年第一天交易额超过千亿,活动开始第一分钟独立访问用户达1000万。
  3. 高可用
    1. 系统7X24小时不间断运行。大型互联网网站宕机事件通常会成为新闻焦点。如2010年百度域名被黑客劫持导致不能访问,带来不可估量的经济损失。
  4. 海量数据
    1. 存储、管理海量数据,需要使用大量服务器。facebook每周上传的照片数量近10亿,百度收录的网页数量数百亿,Google有近百万台服务器为全球用户提供服务。

二、 电商项目技术难点

三、电商项目简介

  1. 网上商城是一个综合性的B2C(Busines-to-custmer)平台,<预言>C2C类似京东商城、天猫商城。会员可以在商城浏览商品、添加商品到购物车、下订单,以及参加各种活动。商家可以入驻京淘商城,在该平台上开店出售自己的商品,并且得到京淘商城提供的可靠服务。管理员、运营人员可以在后台管理系统中管理商品、订单、会员等。客服人员可以在后台管理系统中处理用户的询问和投诉。

四 、 开发工具

Windows7/CentOS 6.5/VMworkstation10
Power Designer 15.6
Eclipse neon
JDK 1.7以上 必须。一些高级应用需要高版本支持1.8
Maven 3.5
Tomcat 7.0.59
Nginx 1.9.9
Redis 3.2.11
MySQL 5.5.27 + Amoeba 3.0.4

五、电商项目架构

  1. 传统项目是如何开发一个项目
    1. 不分功能 , 不分模块的全部在一个工程中完成
    2. 优点:结构简单,开发过程不需要考虑分布式的难题,不需要考虑jar包的依赖管理
    3. 缺点:高可用能力低,一旦某一个模块失效,整体失效,团队开发的配合难度大
  2. 电商系统中 , 引入多个工程系统 , 分为两部分:
    1. 业务系统
      1. 前台系统:访问首页 , 登录连接 , 注册链接 , 购物车连接 , 订单连接
      2. 后台系统:商品增删改查(web前端技术EasyUI KindEditor)
      3. 购物车系统:选择商品 , 数量 , 支付金额
      4. 订单系统:从购物车发起的连接,生成订单,收货人信息,付款方式,商品内容
      5. 登录系统:权限管理,用户信息的获取;
      6. 搜索系统:商品搜索
    2. 支撑系统
      1. 父工程:管理所有依赖的jar包(maven继承);本质就是准备好pom文件
      2. 工具工程:管理所有工程的公用工具类(maven依赖);代码
    3. 以上每一个工程系统都是一个单独的maven工程
    4. 如何按团队划分功能开发?
      1. 一个大型项目,业务划分成多个子系统的过程就是所谓的拆分过程中的业务纵向拆分
      2. 每一个子业务系统当功能非常复杂,结构烦琐时,也很难由同一个团队或者小组单独开发完成,引出二级拆分(横向拆分);本质就是三层架构的拆分工作(持久层(pojo,mapper接口,mapper.xml),业务层(service),控制层(controller))
      3. 注意:parent和common是没有横向拆分的;主要负责提供资源

六、开发环境

  1. 在eclipse中配置Maven
  2. maven工程的继承
    1. 情景分析
      1. 在一个庞大的项目中,由于业务拆分给了多个工程团队开发不同的模块,每个团队有管理自己开发工程的权利;
      2. 导致一个问题,每个工程都有不同的自己依赖的jar包;如果各自为政;
      3. 例如mybatis包,jar包有不同版本,后台系统需要;登录系统;购物车系统,订单系统
      4. 版本不一致导致,当系统间需要相互调用和交互的时候,有可能会造成代码冲突的bug;这种bug很致命,也很难处理;
      5. 所以我们引入maven工程的继承特点来完成父类工程的创建,将所有的jar包管理交给parent
    2. 搭建父类maven工程和普通maven工程区别只有一个pom文件中的类型不是jar也不是war而是pom

推荐阅读
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 深入解析C语言中结构体的内存对齐机制及其优化方法
    为了提高CPU访问效率,C语言中的结构体成员在内存中遵循特定的对齐规则。本文详细解析了这些对齐机制,并探讨了如何通过合理的布局和编译器选项来优化结构体的内存使用,从而提升程序性能。 ... [详细]
  • 帝国CMS中的信息归档功能详解及其重要性
    本文详细解析了帝国CMS中的信息归档功能,并探讨了其在内容管理中的重要性。通过归档功能,用户可以有效地管理和组织大量内容,提高网站的运行效率和用户体验。此外,文章还介绍了如何利用该功能进行数据备份和恢复,确保网站数据的安全性和完整性。 ... [详细]
  • 基于JSP和SSM框架的超市收银系统毕业设计论文及源代码分析
    本研究基于JSP和SSM框架开发了一套超市收银系统,旨在提升超市收银效率和管理便捷性。系统运行环境包括JDK 1.8、Tomcat 7.0、MySQL数据库以及HBuilderX(也可使用WebStorm)作为前端开发工具,后端开发则采用Eclipse(IntelliJ IDEA亦可)。该系统实现了商品管理、订单处理、库存管理和报表生成等核心功能,具有良好的稳定性和扩展性。通过详细的设计与实现过程,本文为相关领域的研究提供了有价值的参考。 ... [详细]
  • 本指南详细介绍了如何在CentOS 6.6 64位系统上以root用户身份部署Tomcat 8服务器。系统环境为CentOS 6.6 64位,采用源码安装方式。所需软件为apache-tomcat-8.0.23.tar.gz,建议将软件下载至/root/opt目录。具体下载地址请参见官方资源。本指南涵盖了从环境准备到服务启动的完整步骤,适用于需要在该系统环境下搭建高性能Web应用服务器的技术人员。 ... [详细]
author-avatar
木马
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有