热门标签 | 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

推荐阅读
  • Kubernetes(k8s)基础简介
    Kubernetes(k8s)基础简介目录一、Kubernetes概述(一)、Kubernetes是什么(二& ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 14亿人的大项目,腾讯云数据库拿下!
    全国人 ... [详细]
  • LVS-DR直接路由实现负载均衡示例
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 域名解析系统DNS
    文章目录前言一、域名系统概述二、因特网的域名结构三、域名服务器1.根域名服务器2.顶级域名服务器(TLD,top-leveldomain)3.权威(Authoritative)域名 ... [详细]
  • 什么是网关服务器初学linux服务器开发时,我们的服务器是很简单的,只需要一个程序完成与客户端的连接,接收客户端数据,数据处理,向客户端发送数据。但是在处理量很大的情况下,一 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 像跟踪分布式服务调用那样跟踪Go函数调用链 | Gopher Daily (2020.12.07) ʕ◔ϖ◔ʔ
    每日一谚:“Acacheisjustamemoryleakyouhaven’tmetyet.”—Mr.RogersGo技术专栏“改善Go语⾔编程质量的50个有效实践” ... [详细]
  • [翻译]微服务设计模式5. 服务发现服务端服务发现
    服务之间需要互相调用,在单体架构中,服务之间的互相调用直接通过编程语言层面的方法调用就搞定了。在传统的分布式应用的部署中,服务地 ... [详细]
  • 服务网关与流量网关
    一、为什么需要服务网关1、什么是服务网关传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关& ... [详细]
  • k8s+springboot+Eureka如何平滑上下线服务
    k8s+springboot+Eureka如何平滑上下线服务目录服务平滑上下线-k8s版本目录“上篇介绍了springboot+Euraka服务平滑上下线的方式,有部分小伙伴反馈k ... [详细]
  • ZooKeeper 学习
    前言相信大家对ZooKeeper应该不算陌生。但是你真的了解ZooKeeper是个什么东西吗?如果别人面试官让你给他讲讲ZooKeeper是个什么东西, ... [详细]
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社区 版权所有