• 项目基础


    京淘介绍

    要求

    1. 项目在自己的电脑中做一遍
    2. 项目一定要个跟上

    京淘项目概述

    3.1 电商网站的特点

    3.1.1 高并发

    概念:在单位时间内,用户大量的访问服务器.

    说明:

    说明:例如淘宝的双11交易额特别的巨大.淘宝数据库的处理的峰值25.6/.

    电商网站中,高并发是主要考虑的问题.

    3.2 分布式

    说明:分布式主要分为 1.分布式计算  2分布式系统

    3.2.1 分布式计算

    说明:一项任务交给多台服务器完成.

    例子:一项任务如果由一个人完成需要10个小时.如果由10个人共同完成这项任务.仅需1个小时.(大数据)

    3.2.2 分布式系统

    说明:将系统按照功能模块进行拆分.拆分为不同的系统.完成不用的任务.

    1.传统项目

     

    2.分布式系统

    分布式系统的作用:

    1. 对外统一.对内独立
    2. 大型项目构建时,内部会根据业务需求,划分为不同的子模块.不同的模块处理的业务不同.开发相对互补影响.极大的提供开发效率.
    3. 如果某项业务出现问题.影响的范围较小

    3.2.3 集群

    说明:通过多台服务器,处理的是相同的业务

    图例:

     

    说明:

    1. 采用集群的部署,可以有效的抗击高并发.
    2. 在集群部署中,会采用高可用的方式,目的让服务器尽可能的不”宕机”

    总结:分布式项目也可以部署集群.让我们的后台更加的强大

    3.2.4 海量数据

    说明:由于软件行业的不断的发展,数据的积累量越来越多,如果实现快速的检索,分析.处理是现在电商网站面临的重大的难题.

    (大数据) AI 区块链(概念)------征信问题 王欣

    京淘架构设计

    4.1 技能点介绍

    4.1.1 功能模块划分

    说明:京淘项目主要分为 2大支撑系统

    序号

    项目名称

    主要作用

    1

    jt-manage

    京淘后台管理系统 负责商品的更新和维护

    2

    jt-web

    京淘前台系统,主要负责商品的展现

    3

    jt-cart

    京淘购物车系统,负责用户购物车信息维护

    4

    jt-sso

    京淘单点登陆系统,实现session数据共享

    5

    jt-order  

    京淘订单系统,负责订单维护

    6

    jt-search

    京淘项目的全文检索

    7

    jt-rabbitMQ

    消息队列系统

    8

    jt-parent

    负责jar包的管理和依赖

    9

    jt-common

    管理工具类文件

    4.1.2 京淘的技能点

    说明:京淘的互联网项目包含了当下最新最热门的技术.

    序号

    知识点

    重要程度

     

    掌握程度

    1

    业务:商品分类、商品、前台、权限单点登录、购物车、订单、商品全文检索

    ★★★★★

    1

    熟练

    2

    Spring、SpringMVC、MyBatis主流框架

    ★★★

    1

    熟练

    3

    Maven 一键构建继承和聚合

    ★★

    1

    熟练

    4

    PowerDesinger表设计及优化

    ★★★★

    3

    会用

    5

    富客户端EasyUI、KindEditor图文控件

    1

    会用

    6

    RESTFul 访问方式

    ★★★★★

    1

    熟练

    7

    通用Mapper插件,自动生成调用代码

    1

    会用

    8

    Nginx 负载均衡/反向代理

    ★★★★★

    1

    精通

    9

    Tomcat集群

    ★★★

    1

    熟练

    10

    Linux/CentOS 操作系统

    ★★★

    1

    熟练

    11

    MySQL主从复制,Amoeba/mycat读写分离

    ★★★★★

    3

    精通

    12

    Redis 缓存数据库,分片,哨兵,集群高可用

    ★★★★★

    1

    精通

    13

    JSONP浏览器跨域

    ★★

    2

    会用

    14

    HttpClient系统间调用

    ★★★

    1

    熟练

    15

    石英钟定时任务

    1

    会用

    16

    RabbitMQ 消息队列

    ★★★

    3

    熟练

    17

    Lucene、Solr搜索

    ★★★★

    3

    熟练

    18

    Jsoup爬虫技术

    ★★★★

    3

    熟练

    19

    Dubbo框架

    ★★★★

    4

    熟练

    20

    Docker容器技术

    ★★★★

    4

    熟练

    21

    Druid阿里数据库连接池

    ★★★

    4

    熟练

     Maven

    5.1 传统项目的问题

    5.1.1 分析

    1. 传统项目的jar包需要专人来维护和编辑.(架构师)
    2. Jar包冲突问题比较麻烦
    3. 传统系统中打包发布也是问题(分布式项目打包更加麻烦)

    5.2 Maven介绍

    5.2.1 Maven介绍

    说明:使用Maven可以一键构建项目,管理/更新/维护项目的工具

    5.2.2 Maven下载

    说明:

     

     

    说明:使用Maven直接从官网根据自己的系统选择正确的版本

    5.2.3 Maven安装

    5.2.3.1 检测JDK

     

     

    说明:如果修改完jdk后依然是1.8则需要进入控制面板中,卸载1.8JDK

    5.2.4 配置Maven

    1.Maven路径

     

    2.添加maven变量

     

    3.maven加入path

    ; %MAVEN_HOME%in

     

    检测是否配置成功.重新打开cmd命令提示框

    命令:mvn -version

    如果出现图上的信息.表示Maven配置成功

    5.2.5 Maven的重要组成部分

    1.用户(USER) 使用Maven的调用者

    2.本地仓库 用户需要的jar包保存到了本地(本机),默认的本地仓库的存储路径c:/user/.m2/reposipoory

    3.中央仓库 位置在海外.在中央仓库中保存着现在主流的公司的全部的jar.下载时速度较慢

    4.镜像 在国内相当于中央仓库的代理,并且速度很快 阿里云镜像/达内镜像

    5.Settings配置文件 maven中属性配置文件 配置本地仓库/私服镜像

    特点:maven是基于网络的!!!!.使用maven时要么使用网络,要么添加私服镜像!!!!

     

     

    5.2.6 配置本地仓库

     

    说明:将本地仓库的路径复制E:softwaremvn_repo.修改大约55行左右

     

    2.添加私服镜像

     

    说明:在培训期间使用达内私服镜像服务器.

    5.2.7 复制settings文件

    说明:settings配置文件存入m2下

     

    ${user.home}/.m2/settings.xml.

    Maven默认访问的就是user级别.所以必须配置,否则无效

    修改全局的settings文件

     

    ${maven.conf}/settings.xml

    5.2.8 配置mavenjdk

    说明:通过maven创建项目时,默认使用1.7JDK

    配置:大约在settings文件的262行添加jdk的配置.作用可以通过maven创建项目时默认使用就是1.7

          <profile>
    		<id>jdk17</id>
    		<activation>
    			<activeByDefault>true</activeByDefault>
    			<jdk>1.7</jdk>
    		</activation>
    		<properties>
    			<maven.compiler.source>1.7</maven.compiler.source>
    			<maven.compiler.target>1.7</maven.compiler.target>
    			<maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
    		</properties>
    	</profile>
    

      

    5.2.9 Maven如何实现自动的jar包依赖

    问题:

    1. Maven是如何自动的依赖jar?
    2. Maven如何保证jar包文件不被篡改?

    答案:

    1. 由于maven在进行jar包依赖时,会执行依赖的pom.xml文件,如果该文件中有自己的依赖.maven再次自动的通过坐标实现jar包的导入.

     

    1. 如何保证不背篡改

     

    Eclipse整合Maven

    6.1 环境配置

    6.1.1 修改JDK

     

    6.1.2 修改字符集编码

     

    6.1.3 关闭校验

     

    6.2 引入maven工具

    6.2.1 导入maven

    说明:添加maven工具后,maven打钩表示启动

     

    6.2.2 引入settings文件

     

    项目的拆分

    7.1 项目的垂直拆分

    7.1.1 垂直拆分

    说明:根据不同的功能模块将模块系统化这样的拆分方式叫做垂直拆分.其实就是分布式的思想

    7.1.2 分布式项目如何管理jar

    问题:将模块进行系统化之后,每一个模块都是一个特定的系统.每个系统都需要自己的jar包文件.分布式系统如何统一管理jar

    解决:

    创建一个专门负责管理jar包的项目jt-parent.主要维护项目中所有公用的jar包文件(ssm)

    7.1.3 分布式项目如何管理工具类

    问题:分布式项目中,有一些工具类需要进行复用,.但是如果将每个工具类都单独写入项目则不方便维护.

    解决:为工具类单独的创建项目jt-common.之后将jt-common打包,形成jar包文件.可以通过pom.xml文件直接依赖

    补充说明:继承和依赖的区别

    继承可以引用父类的全部的jar包文件.

    依赖只能依赖特定的某个jar包文件.

    7.1.4 简述分布式项目的注意项目

    :

    1. 什么是分布式????

    根据不同的业务模块将项目进行拆分.并且将模块系统化.会产生2个问题.1项目中的jar包如何维护.2项目中的工具类如何维护.

    通过创建管理jar包的项目jt-parent项目.其他的项目只需要继承该项目即可.

    创建工具类项目jt-common,其他的项目如果需要工具类引用,只需要依赖工具类即可.

    Jt-parent/jt-common称之为项目的支持系统

    构建京淘后台管理系统

    8.1 Jt-parent

    8.1.1 构建jt-parent

    说明:jt-parent项目的作用主要管理jar包文件.并且项目类型为pom.

    8.1.2 Maven的坐标

     

    以上的三个信息共同构成了maven的坐标.

    GroupId:id 一般是公司的名称

    ArtifactId: 项目名称

    Version: 项目的版本号

    问题:中央仓库如何管理jar???

    解答:Maven的中央仓库其实就是采用坐标的方式管理jar包文件

     

    8.1.3 选择骨架

    说明:通过骨架构建项目,其实就是maven提供的项目创建的模板.模板内包含了项目所需要的配置文件及文件夹.

    1.选择骨架

     

    2.定义坐标

     

    3.修改pom

     

    4.更新maven

     

    说明:如果出现以上的报错信息,则需要更新maven项目

    1. 导入jt-parent的依赖包

    说明:将课前资料中的jt-parent中的pom.xml文件导入后即可.

    8.1.4 jt-parent打包

    说明:如果jt-parent项目创建成功后需要手动的打包.runas-mvn install.

     

    8.2 构建jt-common

    8.2.1 选择骨架

     

    8.2.2 定义坐标

     

    8.2.3 继承jt-parent

     

    8.2.4 引入工具类文件

    说明:将课前资料中的jt-common中的工具类导入项目中.导入完成之后打包

     

    补充:如果打包不成功,将本地仓库中的jt全部删除后重新打包

     

    8.3 构建京淘后台管理系统

    8.3.1 骨架的选择

     

    8.3.2 定义坐标

     

    8.3.3 修改JDK

    说明:由于maven中自已依赖的JDK不完整,所以需要我们手动的修改.

     

     

    8.3.4 继承parent

    8.3.5 依赖工具类

     

    引入tomcat插件

    9.1 Tomcat中存在的问题

    9.1.1 资源问题

    说明:

    1.如果使用本地的tomcat,那么需要定期清空webapp.否则项目启动会很久.

    2.如果需要多个tomcat服务器则需要手动的修改端口号.8005 8080 8009

    9.1.2 引入tomcat插件

    说明:使用tomcat插件是在运行期开始绑定.插件版的tomcat可以做到无限次启动.只需要修改一个端口号即可8080

    Tomcat插件引入

    <!--引入tomcat插件 将原有的build删除 第8行  -->
      <build>
    		<plugins>
    			<plugin>
    				<groupId>org.apache.tomcat.maven</groupId>
    				<artifactId>tomcat7-maven-plugin</artifactId>
    				<version>2.2</version>
    				<configuration>
    					<port>8091</port>
    					<path>/</path>
    				</configuration>
    			</plugin>
    		</plugins>
     </build>
    

      

    9.2 绑定tomcat

    9.2.1 新建build

    说明:需要创建maven build

     

    9.2.2 编辑插件应用

     

    9.2.3 导入源码文件

     

    9.2.4 检测字符集是否正确

     

    9.2.5 端口占用报错

    补充:如果端口占用,需要现关闭tomcat

     

  • 相关阅读:
    shell 字符串切分成数组
    RDD关键性能考量之 内存管理
    RDD关键性能考量之 序列化格式
    【转】Linux ln(link) 命令详解
    【转】redis配置认证密码
    【转】MongoDB 知识要点一览
    RDD关键性能考量之 并行度
    使用thumbnailator不按照比例,改变图片的大小
    Linux服务器redhat配置本地yum源
    Oracle表字段的增删改和重命名
  • 原文地址:https://www.cnblogs.com/xiangyuqi/p/8526735.html
Copyright © 2020-2023  润新知