
获得徽章 1
- #青训营笔记创作活动#
1月26日 打卡day9
高并发设计秒杀系统,有许多细节,比如使用cdn,页面静态化,秒杀按钮用js来实现是否可以点击,缓存问题中的穿透使用布隆过滤器,lua脚本解决库存问题,分布式锁防止库存超卖,还有限流等
展开评论点赞 - #青训营笔记创作活动#
1月25日 打卡day8
TCP为了实现可靠性,引入了重传机制、流量控制、滑动窗口、拥塞控制、分段以及乱序重排机制。而UDP则没有实现,因此一般来说TCP比UDP快。
TCP是面向连接的协议,而UDP是无连接的协议。这里的"连接"其实是,操作系统内核在两端代码里维护的一套复杂状态机。
大部分项目,会在基于UDP的基础上,模仿TCP,实现不同程度的可靠性机制。比如王者农药用的KCP其实就在基于UDP在应用层里实现了一套重传机制。
对于UDP+重传的场景,如果要传超大数据包,并且没有实现分段机制的话,那数据就会在IP层分片,一旦丢包,那就需要重传整个超大数据包。而TCP则不需要考虑这个,内部会自动分段,丢包重传分段就行了。这种场景下,其实TCP更快。
展开评论点赞 - #青训营笔记创作活动#
1月24日 打卡day7
Optional 是 Java 语言的有益补充 —— 它旨在减少代码中的 NullPointerExceptions。
通过设计,自然的融入了 Java 8 函数式支持。
总的来说,这个简单而强大的类有助于创建简单、可读性更强、比对应程序错误更少的程序。展开评论点赞 - #青训营笔记创作活动#
1月23日 打卡day6
首先反思一下,好几天没有阅读打卡了。
TCP协议本身是全双工的,但我们最常用的HTTP1.1,虽然是基于TCP的协议,但它是半双工的,对于大部分需要服务器主动推送数据到客户端的场景,都不太友好,因此我们需要使用支持全双工的websocket协议。
在HTTP1.1里。只要客户端不问,服务端就不答。基于这样的特点,对于登录页面这样的简单场景,可以使用定时轮询或者长轮询的方式实现服务器推送(comet)的效果。
对于客户端和服务端之间需要频繁交互的复杂场景,比如网页游戏,都可以考虑使用websocket协议。
websocket和socket几乎没有任何关系,只是叫法相似。
正因为各个浏览器都支持HTTP协议,所以websocket会先利用HTTP协议加上一些特殊的header头进行握手升级操作,升级成功后就跟HTTP没有任何关系了,之后就用websocket的数据格式进行收发数据。展开评论点赞 - #青训营笔记创作活动#
1月18日 打卡day5
今日学习
注释尽可能全面,写有意义的方法注释
项目拆分合理的目录结构
不在循环里远程调用、或者数据库操作,优先考虑批量进行。
封装方法形参
封装通用模板
封装复杂的逻辑判断条件
保持优化性能的嗅觉
可变参数的配置化处理
会总结并使用工具类
控制方法函数复杂度
在finally块中对资源进行释放
把日志打印好
考虑系统、接口的兼容性
考虑系统、接口的兼容性
代码采取措施避免运行时错误展开赞过评论1 - #青训营笔记创作活动#
1月17日 打卡day4
不用动态更新查看日志就可以使用cat查询文件内有没有该内容这个可以、如果需要动态的看新日志进入到文件就使用tail监听着文件的进入。
展开赞过评论1 - #青训营笔记创作活动#
1月16日 打卡day3
今日学习感悟:
- 学习任何一门语言,都需要刷官方文档!官方文档很重要。
- 数据驱动设计编程思维:设计数据库表结构
- 软件架构模式:单机架构,集中式架构,分布式微服务架构
- DDD核心思想:避免业务逻辑的复杂性和技术实现的复杂性耦合在一起
- DDD中不要以用户为中心
- 微服务:
- 单一职责
- 团队独立
- 技术独立
- 数据库分离
- 独立部署
展开评论点赞 - #青训营笔记创作活动#
1月15日 打卡day2
虽然推荐的是idea的插件,其实通用,在goland上也安装了几款对自己有用的插件:
- key Promoter X:帮助我快速上手goland快捷键
- PlantUML:以前都是用processon的,以后要学会用这个
- Json Parser:格式化json
- String Manipulation:专业处理字符串的插件
- Grep Console:分析控制台日志的插件
- Translation:翻译
- Statistic:代码统计工具,可以用来统计当前项目中代码的行数和大小。
- Vue.js展开评论点赞 - #青训营笔记创作活动#
1月14日 打卡day1
今日学习了几种限流的方法,主要有计数器,滑动窗口,漏桶,令牌桶,redis+lua分布式限流。以前只知道前两个,这次学到了新的三个限流方式,感觉令牌桶既能解决漏桶不能灵活消费的问题,又避免了过度消费,只能说很赞。
展开赞过评论1