获得徽章 10
#青训营笔记创作活动#
1月26日 打卡day51
MinIO作为轻量分布式对象存储系统,在搭建个人文件存储环境方面是十分快速且方便的,在日常开发过程中作为对象存储也是十分好用,值得推荐。
评论
#青训营笔记创作活动#
1月25日 打卡day50
今天学习的文章是关于通过Hertz实现反向代理服务器的。
实际上是通过Hertz的拓展:reverseproxy实现的反向代理。首先通过newsinglehostreverseproxy函数设置反向代理的目标文件夹,将注册路由路径设置为目标的backend路径,通过注册/backend映射到反向代理服务proxy.ServerHTTP,从而实现反向代理。
展开
评论
#青训营笔记创作活动#
1月24日 打卡day49
今天的文章是关于MySQL中锁机制的。文章介绍了MySQL中悲观锁等多种锁的功能,以及它们的底层实现。十分深入浅出地从原理到应用地剖析MySQL中各类锁的实现,值得深入学习。
评论
#青训营笔记创作活动#
1月23日 打卡day48
今天学习的文章是关于traceid搭配elk(ES、Logstash、Kibana),实现快速日志定位。相比于以往的控制台直接输出log或者输出到文件,一个实时支持查询的可定位的日志是更加方便的。
展开
评论
#青训营笔记创作活动#
1月22日 打卡day47
今天大年初一,新年快乐!
今天学习文章的知识点是关于sso单点登录的。作者介绍了sso的流程已经子系统的跳转和ticket的传递。以及如何做到ticket的安全防护与抗重放攻击。作者讲解了详细的名词概念,使我学习到了许多未曾了解的知识。
展开
评论
#青训营笔记创作活动#
1月21日 打卡day46
今天年三十,新年快乐!
今天学习的文章是关于MySQL的死锁问题。在支持并发运行的系统中,死锁问题是必须要考虑方面。而对于MySQL的并行事务,这也是必须考虑的一方面。作者介绍了MySQL的死锁检测算法,并讲解了检测算法的底层实现机制。MySQL获取锁的过程,以及在此基础实现的事务隔离。
展开
评论
#青训营笔记创作活动#
1月20日 打卡day45
对于一个大型的日志文件,或者普通的可编辑文件,在Linux下如何优雅的使用命令去浏览是一个程序员需要掌握的基本技能。在这篇文章中,作者详细介绍了cat和tail两个十分常用的预览指令,已经各类参数的组合使用。
展开
评论
#青训营笔记创作活动#
1月19日 打卡day44
今天学习的文章是关于如何编写优质的SQL语句来提升SQL的性能,实现SQL语句操作的优化。
作者介绍了部分编写SQL的注意点,这些是值得我们在实际使用中注意的优化点。
其次作者介绍了ExPlain这个工具,通过此我们可以更方便的对SQL语句的执行进行分析。
展开
评论
#青训营笔记创作活动#
1月18日 打卡day43
作者介绍了如何进行开源库的pr流程。在Hertz库中拉去issues,选择自己感兴趣的issue,随后提交申请,在获取开发任务后fork仓库进行开发。开发完成后做好单侧的测试,填写并提交pr信息,在merge完成后还应当留意原作者的fix,做好建议的解决工作。
展开
评论
#青训营笔记创作活动#
1月17日 打卡day42
在MySQL中单表的数据量越大,业务执行的效率就越低。究其原因就在于当数据量多到一定程度时,b+树的结构使得增加索引带来的效果就不再明显。
解决方案有三个方向:
数据表分区,实际上就是将一张表的内容从一个文件拆分成好几个文件,按照需求建立索引分区
数据库分区,分为水平分表和垂直分表。前者就是将一张大表按一定规则拆分成不同的小表,其中保留了相同的属性字段。后者就是拆分原表的属性字段,竖直方向拆分大表。
最后就是冷热归档分库,实际上就是将不常用的冷数据分成另外的分区,减少大量冷数据对数据库查询的性能影响。
展开
评论
#青训营笔记创作活动#
1月16日 打卡day41
今天学习的文章是关于idea中debug技巧的。在平时的开发过程中,遇见bug几乎是不可避免的。如何利用好现有工具链实现最优化debug效率是十分重要的。
作者介绍了根据condition进入断点,不阻塞断点的开启方式,分组管理断点的好处,如何快速定位断点运行位置,回退断点和调试stream流的方式
展开
评论
#青训营笔记创作活动#
1月15日 打卡day40
今天的文章介绍了redis除了作为缓存这一主要功能的其他高级应用。
1. 使用redis实现限流操作,主要介绍了固定窗口计数滑动窗口计数,漏桶算法和令牌桶算法,以及各自的使用场景和优缺点。
2. 实现延时队列。介绍了key过期监听事件和zset两种方法。
3. redis实现布隆过滤器的方法,以及介绍了布隆过滤器的原理和应用场景
4. redis在幂等操作方面的处理
5. 介绍了redisincr的常见使用方法,登陆序列号和对限制登陆失败的防爆破应用
展开
评论
#青训营笔记创作活动#
1月14日 打卡day39
Java8之后,为了处理对象属性和方法的连环调用存在空指针异常,简化控制语句的繁杂。引入了optional类,该类用于处理nullpointerexception的情况。作者介绍了其中最常用的方法,of(),ofnullable(),empty(),ifpresent(),orelse()等,为我们展示了如何使用optional类优化判空语句。并且介绍了工厂方法的构造已经常用方法的源码实现。
展开
评论
#青训营笔记创作活动#
1月13日 打卡day38
真正高性能高并发的秒杀系统主要是考虑以下几个方面。
1. 对页面的优化,实现资源静态化,与主服务做隔离,并且通过cdn加载和同步秒杀js信息。
2. 使用负载均衡,分摊各服务器压力
3. 对缓存进行预热,防止缓存击穿,同时加上分布式锁避免缓存的过期。布隆过滤器也是必不可少的,避免缓存穿透带来的大量数据库io
4. 为了避免恶意重复下单,下单时也应当实现重复提交校验,黑名单校验和商品校验,进一步保证服务的正常运行。
5. 对于秒杀商品库存的处理,可以使用预扣库存和回退库存来避免数据库的io,同时要注意库存超卖和库存不足的问题,这些可以通过事务,分布式锁,redis队列实现。

展开
评论
下一页
个人成就
文章被点赞 2
文章被阅读 2,756
掘力值 199
收藏集
0
关注标签
0
加入于