
获得徽章 14
- #青训营笔记创作活动#
1月28日 打卡day48
快速定位到问题,就要实现对日志的快速搜索,本文就引入了ELK技术栈。ELK是ES、Logstash、Kibana的总称,核心功能是实现数据的收集、搜索、可视化。具体功能和使用在本文都会提到。展开评论点赞 - #青训营笔记创作活动#
1月26日 打卡day47
本文主要介绍了ticket+token+redis 实现sso单点登录、防重放、防盗用、防篡改的问题。
防篡改:颁发ticket的时候,是用jwt加密方式(结合数字签名)展开评论点赞 - #青训营笔记创作活动#
1月25日 打卡day46
事务是基于数据库连接的,而每个数据库连接在MySQL中,又会用一条工作线程来维护,当出现多个事务同时执行时,这种情况被称之为并发事务,所谓的并发事务也就是多条线程并发执行!评论点赞 - #青训营笔记创作活动#
1月24日 打卡day45
遇到错误都会去查找日志信息,如何高效的查找关键内容,就需要使用一些linux常用命令,cat基础命令,tail基础命令动态追加查看日志文件的命令。评论点赞 - #青训营笔记创作活动#
1月23日 打卡day44
这里有一个SQL编写技巧:拆解业务需求,先以定值推导SQL。
如何让写的SQL又快又好呢?减小查询的数据量,提升SQL的索引命中率即可。评论点赞 - #青训营笔记创作活动#
1月22日 打卡day43
这篇文章算是记录了作者给开源库提PR的过程,首先是看issue,然后找到感兴趣的提出申请。之后找到目标仓库fork代码,clone到本地,创建新的分支,开发代码并推送远端分支,单侧结合GitHub action,添加描述信息,之后就是等待PR Merge了。展开评论点赞 - #青训营笔记创作活动#
1月21日 打卡day42
单表数据量越大,业务的执行效率就越慢的根本原因是维护索引的B+树层级变得高了,查询一条数据时,需要经历的磁盘IO变多,因此查询性能变慢。
解决单表数据量太大,查询变慢的问题有三种解决方案,包括数据表分区,分库分表,冷热数据归档。展开评论点赞 - #青训营笔记创作活动#
1月20日 打卡day41
Debug是开发人员必备的基础技能:
断点相关经验:条件断点,断点只生效一次且不挂起整个系统,命中打日志,分组管理断点
调试相关经验:快速执行到某个位置,回退重新开始执行,中断后续执行链路,调试Stream流
展开评论点赞 - #青训营笔记创作活动#
1月19日 打卡day40
redis限流可以通过四个方式来实现:固定窗口计数(存在窗口临界问题),滑动窗口计数(Zset实现),漏桶算法限制常量流出速率(无法应对突发流量),令牌桶算法是限制平均流入速率。
redis还可以实现延时队列:String设置key,过期监听触发事件,Zset存储定时任务展开评论点赞 - #青训营笔记创作活动#
1月18日 打卡day39
NullPointerException 异常算是最常见的Java异常之一了,Java 8 引入了一个十分实用的 Optional 类,它主要是为了解决空指针异常(NullPointerException),Optional 获取实例对象的方法是使用get()方法,也可以用isPresent() 方法验证是否有值,通过 map() 和 flatMap() 方法可以转换 Optional 的值。展开评论点赞