获得徽章 15
#青训营笔记创作活动#
2月10日 打卡Day2
今日学习:
今天主要学习一些IDEA的插件,在此记录下自己感觉比较好用的。
- Lombok:神器,基本已经是Java开发标配,用了都说好。
- RestfulFastRequest:相当于把Postman内嵌进了IDEA,看描述还是挺好用的。
- PlantUML:软工画图的时候很实用。
- GsonFormatPlus:能根据Json串自动生成实体类,看演示也是非常的方便。
- Json Parser:在线格式化Json
- MapStruct support:可以参考链接:juejin.cn 看完感觉功能还是很强大的,主要可以对定义好的对象属性进行映射。
- Alibaba Java Coding Guidelines:可以根据阿里的《Java开发手册》实时监测代码中出现的问题。
- Maven Helper:可以解决maven的依赖冲突。
- Statistic:代码量统计工具。
展开
评论
#青训营笔记创作活动#
2月9日 打卡Day1
今日学习:
在电商高并发场景下,我们经常会使用一些常用方法,去应对流量高峰,比如限流、熔断、降级等。其中限流是限制到达系统的并发请求数量,保证系统能够正常响应部分用户请求,而对于超过限制的流量,则通过拒绝服务的方式保证整体系统的可用性。根据限流作用范围,可以分为单机限流和分布式限流;根据限流方式,又分为计数器、滑动窗口、漏桶限令牌桶限流。

计数器:在一段时间间隔内,对请求进行计数,与阀值进行比较判断是否需要限流,一旦到了时间临界点,将计数器清零。
问题:处理单位时间的边界 --> 原子计数

滑动窗口:滑动窗口把固定时间片进行划分,并且随着时间的流逝,进行移动,固定数量的可以移动的格子,每一个格子使用独立的计数器,进行计数并判断阀值。
问题:因为格子的数量无法确定,无法根本解决临界点问题。

漏桶:一个固定容量的漏桶,按照固定速率流出水滴。桶可以固定水流出的速率(处理速度),从而达到流量整形和流量控制的效果。
问题:单位时间内,不能多消费。

令牌桶:我们有一个固定的桶,桶里存放着令牌(token)。一开始桶是空的,系统按固定的时间(rate)往桶里添加令牌,直到桶里的令牌数满,多余的请求会被丢弃。当请求来的时候,从桶里移除一个令牌,如果桶是空的则拒绝请求或者阻塞。

分布式限流最关键的是要将限流服务做成原子化,我们可以借助 Redis 的计数器,Lua 执行的原子性,进行分布式限流。
展开
评论
#青训营笔记创作活动#
2月6日 打卡Day50
反向代理在计算机网络中是代理服务器的一种。服务器根据客户端的请求,从其关系的一组或多组后端服务器(如 Web 服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP地址,而不知道在代理服务器后面的服务器集群的存在。
Herz可以使用 reverseproxy 实现反向代理。
最后一天啦![坏笑][坏笑]
展开
评论
#青训营笔记创作活动#
2月4日 打卡Day49
今天主要对 MYSQL 的锁有了更多的了解,根据不同的分类标准,会有不同的锁。
以锁粒度的维度划分:表锁、页面锁、行锁;以互斥性的维度划分:共享锁、排他锁、共享排他锁;以操作类型的维度划分:读锁、写锁;以加锁方式的维度划分:显示锁、隐式锁;以思想的维度划分:乐观锁、悲观锁。
展开
评论
#青训营笔记创作活动#
2月3日 打卡Day48
为每一个请求都分配一个唯一的 RequestId 或者叫 TraceId ,一旦出了问题,只需要拿着 Id 去日志里一搜,就能很方便的查看日志,而且搜索的这个过程可以使用 ELK 全家桶来实现。
展开
评论
#青训营笔记创作活动#
2月2日 打卡Day47
今天主要学习了SSO登录的相关知识,以及在防重放、放盗用、放篡改方面可以进行的工作。
防重放:让合法的请求,只能被执行一次,保证每次请求的唯一性。
放盗用:根据用户ip进行加密。
放篡改:jwt加密。
展开
评论
#青训营笔记创作活动#
2月1日 打卡Day46
MySQL与Redis、Nginx这类单线程工作的程序不同,它属于一种内部采用多线程工作的应用,因而不可避免的就会产生死锁问题。
每当一个事务需要阻塞等待某个锁时,就会触发一次wait-for-graph算法,该算法会以当前事务作为起点,然后从「锁的信息链表」中找到对应中锁信息,再去根据锁的持有者(事务),在「事务等待链表」中进行查找,看看持有锁的事务是否在等待获取其他锁,如果是,则再去看看另一个持有锁的事务,是否在等待其他锁.....,经过一系列的判断后,再看看是否会出现闭环,出现的话则介入破坏。
展开
评论
#青训营笔记创作活动#
1月31日 打卡Day45
今天学习了查看 log 日志的一些 linux 命令。
- cat

# 展示文件前十行
cat ./log_all.log |head -n 10
# 展示文件后十行
cat ./log_all.log |tail -n 10
# 查看模糊匹配关键字的出现数量
cat ./log_all.log |grep 程序 -c
# 查询多个关键字以|分开
cat ./log_all.log |grep --line-buffer -E '程序|101.43.183.82'
# 查询多个关键字多个关键字要都在一行内
cat ./log_all.log |grep --line-buffer -E '程序' |grep --line-buffer -E '监听器'

- tail

# 查看文件指定文件、默认显示最后10行、无光标监听
tail log_all.log
# 查看文件指定文件、默认显示最后10行、有光标监听
tail -f log_all.log
# 查看文件指定文件、默认显示最后100行、有光标监听
tail -100f log_all.log
# 模糊匹配文件后100行中出现的内容、有光标并只输出显示匹配内容
tail -100f log_all.log |grep 'BLOG_LIKE'
展开
评论
下一页
个人成就
文章被点赞 3
文章被阅读 1,932
掘力值 194
收藏集
0
关注标签
0
加入于