-
组成的框架由:
-
eureka服务注册,nacos
-
OpenFeign服务调用
-
Hystrix熔断器
-
Gateway网关
-
Config配置中心,nacos
-
Bus消息总线,nacos
-
项目中,使用阿里巴巴nacos,代替springcloud一些组件
-
Nacos
-
注册中心
-
配置中心
-
Feign
-
服务调用,一个微服务调用另外一个微服务,实现远程调用
-
熔断器
-
Gateway网关,之前是zuul
-
版本
-
4、MyBatisPlus
-
MyBatisPlus就是对MyBatis的增强,本身并没改变
-
自动填充
-
乐观锁
-
逻辑删除
-
代码生成器
5、EasyExcel
- 阿里巴巴提供操作Excel工具,效率高,代码简洁
*为什么他效率高,代码简洁?
因为他封装了poi进行封装,采用SAX方法(一行一行操作)进行解析
Dom:一次将所有数据放进内存中来
- 项目应用在添加课程分类,读取excel数据
1、SpringSecurity
-
项目整合框架实现权限管理功能
-
框架组成:
-
认证(登录)
-
授权(对用户授予权限)
-
登录认证过程
*说一说SpringSecurity的登录认证过程?
- 代码执行过程
2、Redis
-
首页数据通过Redis做缓存
-
Redis数据类型:
-
Set
-
List
-
Hash
-
String
-
zset
*Redis做缓存,什么样的数据适合使用Redis做缓存?
经常访问,但不经常修改的数据;如主页
3、Nginx
-
方向代理服务器
-
请求转发、负载均衡、动静分离
4、OAuth2+JWT
-
针对特定问题的解决方案
-
Jwt制定一种规则生成字符串,包括:三部分
-
JWT头
-
有效载荷(用户信息)
-
防伪标志
5、HttpClient
-
模拟浏览器,请发请求响应的工具
-
项目中应用场景:微信登录获取扫描人信息,微信支付查询支付状态
6、Cookie
-
特点:
-
客户端技术,存储在浏览器、客户端中
-
每次发送请求,都会带着cookie
-
cookie有默认有效时长,默认关闭浏览器就不存在了,也可以设置时长,会话级别
7、微信登录
上面有讲了
8、微信支付
上面有讲了
9、阿里云OSS
-
文件存储
-
添加讲师,上次讲师头像
10、阿里云视频点播
-
视频上传、视频删除、视频播放
-
整合阿里云视频播放器播放
-
使用视频播放凭证播放
11、阿里云短信服务
- 注册时,发送手机验证码,存储到redis中校验
12、Git
- 代码提交到远程的Git仓库中
13、Docker+Jenkins
-
手动打包
-
idea工具打包
-
自动化部署过程
=================================================================
-
多次路由跳转到同一个页面,created()只执行一次
-
解决方案:通过vue监听机制解决
- 使用Babel把ES6代码转换为ES5的代码运行
-
mp生成的ip值为19位,js处理数据类型值时,只处理16位
-
解决方案:将Long改为String类型
-
访问协议+ip地址+端口号,三者有任何一个不一样,就会产生跨域问题
-
解决方案:
-
在controller添加注解@CrossOrigin
-
通过Gateway网关解决,写一个配置类
-
上面只能使用一个,不然会失效
-
上传视频时,nginx有上传视频大小限制,如果超过,就会出现413错误
-
413描述:请求体过大
-
解决方案:在Nginx里配置客户端提交文件大小
-
响应状态码:413、跨域403、重定向302
-
Maven加载项目时,不会加载src-java文件夹里面的xml类型文件
-
解决方案:
-
1、复制xml文件到target目录
-
2、在maven中配置,与properties配置文件中指定xml文件夹
================================================================
是一个产品;项目是从0开始搭建的
首页和视频详情页qps单机qps要求 2000+
经常用每秒查询率来衡量域名系统服务器的机器的性能,其即为QPS
QPS = 并发量 / 平均响应时间
前台:会员(学员)
后台:系统管理员、运营人员
后台分库,每个微服务一个独立的数据库,使用了分布式id生成器
我们直接接入了阿里云的云视频点播。云平台上的功能包括视频上传、转码、加密、智能审核、监控统计等。
还包括视频播放功能,阿里云还提供了一个视频播放器。
1、请求方式post、get
2、json、x-wwww-form-urlencoded混乱的错误
3、后台必要的参数,前端省略了
4、数据类型不匹配
5、空指针异常
6、分布式系统中分布式id生成器生成的id 长度过大(19个字符长度的整数),js无法解析(js智能解析16个长度:2的53次幂)id策略改成 ID_WORKER_STR
后端服务器配置:我们的项目中是通过Spring注解解决跨域的 @CrossOrigin
也可以使用nginx反向代理、httpClient、网关
问题1:
分布式id生成器在前端无法处理,总是在后三位进行四舍五入。
分布式id生成器生成的id是19个字符的长度,前端javascript脚本对整数的处理能力只有2的53次方,也就是最多只能处理16个字符解决的方案是把id在程序中设置成了字符串的性质
问题2:
项目迁移到Spring-Cloud的时候,经过网关时,前端传递的cookie后端一只获取不了,看了cloud中zuul的源码,发现向下游传递数据的时候,zull默认过滤了敏感信息,将cookie过滤掉了解决的方案是在配置文件中将请求头的过滤清除掉,使cookie可以向下游传递
问题3…
https://www.cnblogs.com/haoxinyue/p/5208136.html
不要太教条,说说人一任职务
CAP定理:
指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可同时获得。
一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(所有节点在同一时间的数据完全一致,越多节点,数据同步越耗时)
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
总结
阿里伤透我心,疯狂复习刷题,终于喜提offer 哈哈~好啦,不闲扯了
1、JAVA面试核心知识整理(PDF):包含JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算共30个章节。
2、Redis学习笔记及学习思维脑图
3、数据面试必备20题+数据库性能优化的21个最佳实践
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-uy3G2EgQ-1711387995577)]
总结
阿里伤透我心,疯狂复习刷题,终于喜提offer 哈哈~好啦,不闲扯了
[外链图片转存中…(img-ddNFPdtw-1711387995577)]
1、JAVA面试核心知识整理(PDF):包含JVM,JAVA集合,JAVA多线程并发,JAVA基础,Spring原理,微服务,Netty与RPC,网络,日志,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算共30个章节。
[外链图片转存中…(img-UzSxbDT4-1711387995578)]
2、Redis学习笔记及学习思维脑图
[外链图片转存中…(img-eW7Xdo2h-1711387995578)]
3、数据面试必备20题+数据库性能优化的21个最佳实践
[外链图片转存中…(img-d6NmVXNh-1711387995578)]