
- 商品服务表关系
- 基础篇1
- 基础篇2
- ES
- thymeleaf(p136 )
- nginx
- 性能测压:(p141开始)
- 缓存
- 线程
- 认证服务
- 购物车
- RabbitMQ
- 订单
- 分布式事务
- 支付
- 秒杀
- Sentinel(限流、熔断、降级)
- sleuth +Zipkin链路追踪
- 补漏
- 问题
1.商品有分类,比如分为手机、珠宝、鞋靴等,所以有一张商品分类表pms_category;分类中的商品来自不同的品牌,比如手机的品牌有华为、小米、oppo,所以有一张品牌表pms_brand;
分类和品牌关联关系表pms_category_brand_relation(多对多)。-------商品系统-品牌管理里面可以关联品牌和分类。
2.商品的分类中包含商品的属性分组,比如基本信息、屏幕、芯片,所以有一张属性分组表pms_attr_group,里面有商品分类字段catelog_id。-------商品系统-平台属性-属性分组
商品的分类包含属性,比如颜色、内存、电池容量、上市年份,所以有一张属性表pms_attr,属性表里面有商品分类字段catelog_id(属性是基本属性时包含分组,是销售属性时不包含分组)。-----商品系统-平台属性-规格参数
添加属性的时候要选择属性分组,属性分组和属性关联关系表pms_attr_attrgroup_relation(一对多)。
☆、服务器:虚拟机搭建、docker安装、mysql安装、redis安装、nginx安装。
☆、后端:从0开始创建项目、sql导入、人人项目运用、人人项目生成代码、引入nacos做为注册中心、nacos做为配置中心、远程调用、网关gateway、跨域。
☆、前端:fast-vue启动、ES6+Vue基础。
☆、后端:mybatis-plus逻辑删除、oss、hibernate-validator校验+分组校验+自定义校验、统一异常处理、mybatis-plus分页、VO TO PO BO、设置微服务最大运行内存。
☆、前端:树、上传组件、表单校验和自定义校验器(笔记里面没有,课程在65集)。
☆、基本概念:index库>type表>document文档。
☆、es安装、kibana安装、利用kibana进行增删改查。
☆、es进阶检索:query-查询 sort-排序 _source-查询的字段 from-页码 size-每页显示几条
(匹配查询:match-文本字段 term-数字字段) (match_phrase-不拆分匹配 字段.keyword-要一一匹配到) multi_math-多字段匹配 bool/must-复合查询 filter-结果过滤,不会影响得分 aggs-聚合。
☆、映射(建表):创建、查看、添加新的字段、修改字段(数据迁移)。
☆、分词:安装ik分词器、nginx安装、自定义词库。
☆、SpringBoot整合ElasticSearch、java往es中加数据、检索数据示例、商品es索引设计(nested嵌入式对象)。
☆、商品上架保存到es。
☆、商品检索:检索参数VO、检索结果VO、ES语句DSL(p177、p178)、搜索、返回结果构建。
1.dev-tools(p137):更改页面实时更新。
nginx2.搭建域名访问环境(p139 p140)
(1)反向代理配置。
(2)负载均衡到网关。
1.jmeter
2.性能监控:jvm(p144)、JvisualVM的使用(p145)
###属于cpu密集型还是io密集型
cpu密集型:数据计算(查到一大堆数据,要计算、排序、过滤) 处理:升级服务器、分布式,多台服务器处理。
io密集型:网络传输数据 磁盘读写(mysql、redis) 处理:换固态硬盘、加内存条、使用缓存技术、代码优化。
1.redis配置、简单使用。
2.堆外内存溢出OutOfDirectMemoryError解决办法:由lettuce客户端换成jedis客户端。
3.缓存失效、缓存雪崩、缓存击穿。
4.使用synchronized给本地服务加锁。
5.复制微服务。
6.分布式锁的原理和使用。
7.Redisson(读写锁、信号量-可以做限流、闭锁) (p159开始)。
8.缓存一致性解决方案。
9.springCache。
1.线程池(线程池初始化、线程池创建方式和工作顺序)。
2.异步编排(CompletableFuture):创建异步对象、计算完成时回调方法、handle 方法、线程串行化方法、两任务组合 - 都要完成、两任务组合 - 一个完成、多任务组合。
1.创建服务:p211
2.整合短信验证码:p213 接口防刷
3.异常机制:p216
4.密码加盐:最终使用BCryptPasswordEncoder
5.社交登录
6.分布式session:SpringSession
7.单点登录demo
1.购物车需求分析、设计
2.ThreadLocal的使用(threadlocal只有当前线程可以访问)
3.拦截器的配置
过滤不需要拦截的请求:
boolean match = new AntPathMatcher().match(“order/order/status/**”, uri);
4.设置cookie返回到页面
Cookie cookie = new Cookie(CartConstant.TEMP_USER_COOKIE_NAME, userInfoTo.getUserKey());
// 设置这个cookie作用域 过期时间
cookie.setDomain(“gulimall.com”);
cookie.setMaxAge(CartConstant.TEMP_USER_COOKIE_TIME_OUT);
response.addCookie(cookie);
1.概述、核心概念
2.安装
3.Exchange 类型
4.direct、fanout、topic类型的交换机测试(p252 p253 p254)
5.springboot整合RabbitMQ
6.AmqpAdmin的使用
7. RabbitTemplate的使用
8. @RabbitListener和@RabbitHandler接收消息
9.发送端确认、消费端确认
1.订单的基本概念、设计
2.远程调用丢失请求头
3.远程异步调用丢失请求头
4.接口幂等性解决办法
5.验证原子性令牌
6.rabbitMQ延迟队列
7.保证消息可靠性
1.事务的传播行为
2.分布式事务CAP理论和Raft算法(选举与同步理论)
3.BASE理论(弱一致性,即最终一致性)
4.seata整合(AT模式)
1.RSA、密钥、加密加签
2.内网穿透(中间加个服务器,由服务器代理访问内网,因为外界是无法访问内网的)
3.整合支付
4.支付成功回调(要在异步通知中确认支付成功给支付宝返回”success”后,才会跳转到设置的页面)
5.异步通知
6.收单
1.springboot整合定时任务和异步任务
2.秒杀架构设计
3.秒杀代码编写
1.限流、熔断、降级解释
2.控制台启动
3.springboot整合
4.feign的流控和降级
5.网关流控(sentinel)
1.整合、使用
补漏一、es
1.写一些简单的数据弄一下保存到es,然后再查询出来,做一遍最后面的复杂检索(用银行的数据)。
2.泛型TypeReference,p135
使用例子:
Map
JSON.parseObject(catalogJson, new TypeReference
1.堆外内存溢出OutOfDirectMemoryError最终解决方法
2.redis集群时怎么配置
3.es集群?
4.SpringSession和jwt的区别?
5.tomcat调优设置,tomcat最大、最适合的并发数
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)