(cgb04)京淘Day01

2006-京淘Day01


1. 京淘项目环境搭建

1.1 JDK配置

1.1.1 JDK环境说明

在cmd中查看jdk的版本,步骤如图所示:
在这里插入图片描述

1.1.2 JDK环境变量配置

在此电脑右键/属性/高级系统设置/系统变量 处检查如图所示2处配置:
在这里插入图片描述

1.2 Maven配置

1.2.1 私服镜像配置
 <mirror>
	<id>aliyun</id>
	<name>aliyun for maven</name>
	<mirrorOf>*</mirrorOf>
	<url>https://maven.aliyun.com/repository/public</url>
   </mirror>
1.2.2 本地仓库位置

在这里插入图片描述
或这样写
在这里插入图片描述

1.2.3 配置JDK
	<profile>
   		<id>jdk-1.8</id>
   		<activation>
   			 <jdk>1.8</jdk>
       		 <activeByDefault>true</activeByDefault>
  		</activation>
   		<properties>
           <maven.compiler.source>1.8</maven.compiler.source>
           <maven.compiler.target>1.8</maven.compiler.target>
           <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
   		</properties>
 </profile>

1.3 STS配置

1.3.1 配置字符集编码格式

在这里插入图片描述

1.3.2 检查JDK配置

在这里插入图片描述

1.3.3 引入maven

1).配置maven环境
在这里插入图片描述

2).编辑maven配置文件
在这里插入图片描述

1.3.4 关闭校验

在这里插入图片描述

1.4 构建SpringBoot入门项目

1.4.1 创建项目

在这里插入图片描述

1.4.2 创建项目(二)

在这里插入图片描述

2 京淘项目概述

图-1

图-2
解析:
图中的动吧旅游相当于一台tomcat服务器;若将来有很多大量的请求(电脑相代表访问用户);若只有一台tomcat服务器不能应对高并发多批量的访问。所以可以搭三台tomcat服务器(集群的概念)。
以前用户访问服务器是通过http://localhost:80这种方式来访问tomcat服务器。但这种方式也有问题,通过这种方式访问的只是一台服务器。用上面的图解释就是多台用户电脑只去访问一台tomcat服务器。
在实际开发中,几台服务器都得去访问,这样服务能力才能提升。而且也不能在用上述这种访问方式,所以这种技术若想实现,得有相应的域名,根据域名去访问某些服务器。如www.db.com。现在我们现在的技术能力是搞不定的,所以在中间多加一台代理服务器。代理服务器的作用是:相当于用户统一去访问代理服务器,一般会在代理服务器前加一个防火墙。加防火墙的目的是防止黑客的攻击。最后通过代理服务器将请求分发给不同的业务(Tomcat)服务器。
单台tomcat服务器它所能支持的并发能力是:150-240个/秒(正常一般是200左右每秒)。JVM调优之后,单台tomcat服务器能实现1000个/秒。调优的核心是:扩大tomcat处理的内存容量。 (知识点:1G=1024兆)。但也不是一直将内存容量调大就会是最优的,它成曲线一样,有一个最大值,在调大,反而减弱了。

据不完全统计:淘宝的tomcat服务器估计有3000多个。
问题2:用户发起大量请求,经过代理服务器的周转,将请求分发给不同的业务处理服务器。数据都得存到数据库。数据库的最大连接数是:最多是1000个连接。
数据库的优化是:有主数据库(主机),有若干台从数据库,
这样的方式好处:电子设备害怕水、火或灰尘。为了数据安全,将数据多备份。数据分开存。
连接数据库路是:jdbc:127.0.0.1:3306只能连接一台数据库服务器。所以也有一个数据库的代理服务器。主库会源源不断的向从库不断同步。这样可以保证主库的数据就是从库的数据。
将来进行写入的操作是往主库中写。将来进行读取的操作,可以到从库中去读。这样实现了读与写的分离。这样一次读取,多台数据库操作,叫做负载均衡。若觉得数据库处理能力不足,加数据库就可以。

问题3:将来用户有大批量读的操作,让后台、用户都去访问数据库,即使数据库处理能力再高,读的次数频繁,也会占用有限的资源。怎样让用户读取更快速?
读操作问题:
缓存技术:提前找一个地方先将数据存起来,用户读取的时候直接读缓存,就不用访问数据库了。
配置一个缓存的服务器,读的时候先找缓存,缓存中如果没有再去数据库中找数据。可以搭建多个缓存服务器,搭建多个缓存服务器机制也叫缓存集群,基本可以解决大量用户读的操作的要求。

写操作问题:
写操作的问题,将来在处理的时候还有另外一个代理机制:叫做队列。
如果缓存机制仍然接受不受考验,还可以加一层队列。
主流队列如:RabbitMQ、ActiveMQ等
队列的主要功能是缓解数据库读写的的压力。

综上所述,这样基本可以实现后台服务器的正常运行。我们把这种即使出了问题,也不影响程序正常服务的这种方式叫做高可用性。
高可用性可以实现的具体功能是:可以保证我们的用户在即使后台服务器出了问题之后,也能正常访问。

3.SpringBoot框架高级说明

3.1 parent标签的作用

<!--1.jar包种类繁多
		A.jar 1.0版本   B.jar 2.0版本    C.jar 3.0版本
		A.jar 2.0版本   B.jar 2.0版本    C.jar 3.0版本
		早期的jar包版本 可能出现jar包冲突的问题.
		所有采用parent标签的方式 统一定义了版本号  由官方自己进行测试,
		将允许稳定的版本统一的管理.
	  -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.3.2.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>

3.2 关于maven 插件的说明

<!-- maven项目指定的插件配置 该插件主要负责 maven项目相关操作 打包/test/clean/update
		等相关maven操作 注意事项:但凡是maven项目则必须添加 
		插件.否则将来项目部署必然出错 -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

3.3 关于Maven 属性的配置

<!--当前maven配置信息 -->
	<properties>
		<java.version>1.8</java.version>
		<!--定义maven插件版本  -->
		<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
		<skipTests>true</skipTests>
	</properties>

3.4 关于Maven依赖说明

3.4.1 依赖与本地仓库的关系
<!--maven的依赖 利用坐标的形式管理jar包 本地仓库之间有什么关系呀?  -->
		<dependency>
			<!--组ID, 公司域名倒写.  -->
			<groupId>org.springframework.boot</groupId>
			<!--具体项目名称  -->
			<artifactId>spring-boot-starter-web</artifactId>
			<!--版本号 被parent标签提前定义 -->
			<!-- <version>2</version> -->
		</dependency>

2).本地仓库内容
在这里插入图片描述

3).规则说明
如果以后下载jar包时,遇到maven依赖异常.则首先查询本地仓库中是否有该jar包的完整版本.
如果发现jar包文件下载不完全,则需要删除之后重新下载.

3.4.2 jar包与jar包之间的依赖传递性说明

1.说明: maven具有jar包的依赖性
例如: A.jar---->B.jar ------> C.jar
(即 A.jar依赖于B.jar,而B.jar依赖于C.jar )
只要导入A.jar 那么b/c都会自动的完成依赖
在这里插入图片描述

2).检查POM.xml文件
说明:由于maven加载jar包之后还会去加载该jar包文件的POM文件,如果该POM文件中依赖了其他的jar包,那么maven也会自动的进行加载.
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值