获得徽章 1
- 8412
- #青训营笔记创作活动#
1月25日 打卡day5
今日学习:为什么有HTTP协议,还要有websocket协议? 前面几天过年去了,今天开始学习了。 http主要用于客户端主动请求服务端,服务端发送数据,然而当我们要服务端主动给客户端发送数据时,就需要长轮询、http不断轮询。当然最好用的就是全双工websocket协议。想使用websocket协议必须用http协议升级展开评论1 - #青训营笔记创作活动#
1月26日 打卡day6
今日学习:Kafka科普 kafka主要为消费者 生产者 broker topic 分区 副本 作为一种写性能极高的流式消息处理平台,消费者还有消费组,底层存储主要是用日志存储,有偏移量日志文件等。展开评论1 - #青训营笔记创作活动#
1月18日 打卡day3
今日学习:给想转Go或者Go进阶同学的一些建议
从中学习到了,做客户端开发和服务端开发编程思维的区别,以及如何去高效学习一门编程语言。软件架构的演进历史是有单体到集中式再到微服务,是一个不断解耦的过程,其中现在的微服务架构DDD十分重要。展开评论1 - #青训营笔记创作活动#
1月19日 打卡day4
今日学习:MySQL索引之道
索引失效的场景及其原理,比如最左匹配原则,like %,使用了函数和运算等都有可能造成索引失效,使用or in not in等还要注意索引的优化比如减少回表、在适合的字段加索引。展开评论1 - #青训营笔记创作活动#
1月17日 打卡day2
今日学习:MySQL每张表最好不超过2000万数据,为什么?
重新认识了这个问题,以前以为MySQL表不超过2000万是定理,其实是要经过计算的。
MySQL存储是经过页的,大小为16KB,里面又分为页格式和行格式。页格式和行格式大小都是不固定的,因为字段数据的缘故。
除去了页格式,还剩下15232字节的数据空间可以供行格式使用
同时还有溢出页的存储。字符编码不同情况下的存储。
通过单个节点计算和前两层非叶子节点计算可以得出。
前两层非叶子节点
当为bigint 可以存619369个节点
当为int 可以存 986049
还剩下一层数据 ,每页为16KB,但是最大行长度略小于数据库页面的一半,每页还留了点空间给页格式的其他内容。假设每条数据8KB,就可以存2*619369=1238738条,就是一百二十多万条。所以还是要根据字段大小来计算,而不是一味的2000万条数据。展开评论1 - #青训营笔记创作活动#
1月16日 打卡day4
今天读了这篇对转Go的同学的建议。
客户端比如java转服务端,最大的挑战是编程思维,关注点的转变。服务端不需要关心客户端如何管理应用的生命周期,只需要按照客户端要求返回数据即可。在学完客户端语言想要转服务端时,要及时调整自己的思维,不要用客户端开发的思维去学服务端。
分布式微服务是现在主流的开发架构,可以实现业务和应用之间的解耦。解决单体应用扩展性差等问题,适合在云计算环境下的部署和运营。
最后一个板块作者讲了DDD(领域驱动开发)的方法论和用其指导进行微服务开发。微服务的特点主要是单一职责,技术独立,团队独立,数据库分离和独立部署。这样可以像乐高一样自由的拼装和扩展。展开评论3
~
走了