八月

8.02

  • [x] 分布式锁

  • [x] redisson

  • [x] 短网址项目有

8.03

  • [x] 记忆化搜索
  • [x] springCloud

8.04

  • 记忆化搜索
  • 线性dp
  • leetocde72编辑距离的状态转移理解
  • SpringCloud
  • Nacos原理与配置
  • OpenFign 使用
  • GateWay 网关原理

8.05

  • 动态规划 01背包 完全背包 线性dp 记忆化搜索的方式处理
  • springCloud

8.06

  • 区间dp问题 最长回文子序列
  • 状态机dp 股票买卖问题
  • 树形dp 二叉树的直径
  • 布隆过滤器原理
  • 登陆场景下使用redission 分布式锁
  • 登陆场景下 token 验证
  • 防止检查用户名缓存穿透,使用bloomfilter
  • 分组管理 部分接口管理

8.07

  • 项目接口测试

8.08

  • 短网址原理/创建/如何支持高并发/ 为什么使用布隆过滤器/使用goto路由表映射
  • 短网址跳转原理(区分状态码301 还是 302 )/分布式锁解决缓存击穿问题/双重判定锁/使用lock 还是trylock 使用场景 以及区别
  • 缓存穿透处理思路
  • 缓存预热问题
  • MySQL存储引擎InnoDB与MySIAM对比
  • leetcode 902

8.09

  • 缓存穿透代码实现梳理
  • 短网址的回收站的删除以及分页功能
  • 入手ElasticSearch 以及RocketMQ 只是初步了解

今天状态差 周五休息了

8.10

  • 缓存击穿问题处理的综合方案: 缓存空对象 + BloomFilter + 分布式锁

    先查询redis缓存 -> 为空查询bf -> bf 不为空的话 -> 判断缓存空对象 不为空的话查询-> 获取分布式锁 查询mysql 并且写缓存, 详细逻辑 复习 自己的流程图, 并且复习自己流程图

  • 监控服务 整理功能梳理

  • pv 计算

  • uv计算原理: 使用Cookies

  • 获取各种监控信息 包括 IP地址 OS browser

  • 高频访问IP实现的方式。 查询数据库 思路

  • Redis 八股文 Redis五种常见数据结构

  • RocketMQ 文档

今天效率 有待提高学习内容比较少, 八股文部分学的不多

8.11

  • redis八股 redis。中的数据结构 实现原理 基本操作以及应用场景

  • 短网址跳转监控信息整合

8.12

  • 理解短网址跳转时, 向MySQL数据库中写操作涉及到哪些字段, t_link_access_logs, t_link_access_stats 两个核心数据表
  • debug 跳转功能, shortLinkStats(buildLinkStatsRecordAndSetUser(fullShortUrl, request, response));

8.13

  • redis-stream 消息队列, 理解producer-task, consumer-task 处理过程
  • 主要是consumer-task, 核心操作:记录跳转状态, 并保存到mysql数据库中, 通过数据记录获取监控信息
  • 消息队列的重复问题解决方案 : 幂等性原理
  • leetcode 每日一题

8.14

  • 风控问题如何处理 涉及到白名单问题
  • 流量控制 降级熔断概念
  • 如何实现降级熔断
  • 引入 sentinel 控制接口QPS如何实现
  • Jmeter 压测工具, 测试, 创建测试计划(创建线程组、HTTP请求、 结果树、聚合报告)

8.15

全新优惠卷项目设计到的技术栈(涉及到大量中间件)需要有基本初步了解与认知, 并且完成基本配置。

使用NGINX原因

  • nginx的性能是高于 SpringCloud gateway, 使用NGINX是做基本的限流与风控
  • 通过nginx完成负载均衡,gateway性能不如nginx
  • nginx http代理
  • 前端页面的访问

使用gateway原因

  • 适配SpringCloud
  • 支持这种过滤器

Nacos

  • 服务配置与管理

SkyWalking

  • 服务链路追踪
  • 服务中的性能问题

Sentinel

  • 限流和熔断处理 处理高并发

XXL-JOB

  • 分布式定时任务框架

Redis功能

  • 数据库缓存
  • 分布式锁
  • 布隆过滤器

MySQL ShardingSphere

  • 实现MySQL数据库的读写分离以及分库分表

ElasticSearch

  • 搜索引擎, 通过Canal监听binlog向ElasticSearch推送数据, 实现用户搜索场景

RocketMQ

  • 削峰与任意延迟消息发送实现异步解耦

今日完成

  • 参考官方 安装RcoketMQ, 启动NameServer 以及Proxy (完成新项目优惠卷启动与配置)

  • 安装并配置ElasticSearch, 官方文档

  • 配置并启动新项目 六个微服务 !

  • 优惠卷项目业务场景问题: 优惠卷分发以及兑换

  • Redis持久化 RDB

  • RDB原理 实现异步持久化

  • AOF持久化 , RDB 与AOF对比

  • leetcode 经验参考

8.16

  • Redis 主从模式

  • 主从同步的工作原理

  • 全量同步、增量同步原理 以及使用场景

  • Redis哨兵

8.17

  • Redis 集群
  • 短网址项目

8.18

  • 动态规划题目 背包问题 线性dp
  • dp边界处理,如何通过添加1行 1列的处理边界问题
  • MySQL 索引
  • 项目debug

8.19

  • Java 数据结构八股文 ArrayList LinkedList HashMap TreeSet
  • Java Stream 使用方法 filter 过滤元素、 中间操作(sort distinct map)
  • Redis持久化 RDB 复习
  • MySQL架构 以及 SQL执行需要经过哪些层
  • MySQL Storage engine
  • 短网址中项目MyBatis 操作数据库部分,单个链接如何跳转统计数据

20 号 任务: MySQL 索引内容 和 锁部分内容 日志内容必须完成

​ leetcode动态规化

​ 新项目必须加快 进度

​ java 基础八股

8.20 ~ 8.25

  • MySQL存储引擎

  • MySQL索引 ,

  • mysql全局锁 、表锁、 行锁。

  • InnoDB 引擎 内存结构

  • 磁盘结构

  • InnoDB 事务 mvcc

  • MySQL日志

    所有内容完成整理并记录笔记

8.26 - 8.28

短网址,项目整理