
获得徽章 1
- #青训营笔记创作活动#
1月31日 打卡day8
今日学习 kafka科普,kafka是一个消息系统,提供了实现消息顺序性和回溯消费的功能。整体架构包括若干Producer和若干Borker以及若干Consumer,一个ZooKeeper集群。有两个重要概念主题和分区。消费理念还存在消费组概念,每个消费者消费主题中的某一分区的信息,可以自定义分配策略。展开评论点赞 - #青训营笔记创作活动#
1月30日 打卡day7
今日学习 websocket HTTP1.1基于TCP协议(本身是全双工)采用半双工模式,网页向服务端持续发送请求,对于登录页面这种场景可以采用定时轮询和长轮询实现服务器推送。但是对于大部分需要服务器主动推送大量数据的场景,例如网页游戏,需要采用websocket协议。websocket会利用HTTP协议加上特殊的头进行握手升级协议(服务器返回101意味协议升级),然后用websocket的数据格式收发数据。展开评论点赞 - #青训营笔记创作活动#
1月29日 打卡day6
今日学习 在刚刚插上网线时,主机无法得知自己ip,一是手动配置IP,子网掩码,路由,二是通过DHCP动态地址配置协议。DHCP过程:discover,因为不知道DHCP服务器地址,本机广播向本地网段内所有人询问。offer,非DHCP服务器忽略,是则从维护的ip池拿出空闲IP,广播回主机。request,主机拿到IP,再次广播。ACK,服务器回复正确接受信息,意味可以使用,如果期间这个IP不能使用了,回复NAK。
DHCP是应用层协议,要支持广播功能,底层使用UDP协议而不是TCP。每次联网,如果连过这个网络,机器会记录上次使用IP,再次链接先使用原ip只经历三四阶段。分配的IP可能是某台主机手动配置的,会重复(也可能多个DHCP服务器维护IP池重叠,需要权限修改范围)。所以最后主机还会发三次无偿ARP通告(一般ARP目的通过IP地址获取MAC,填IP不填Mac,无偿填自己的IP和Mac),确认没有冲突后使用。展开评论点赞 - #青训营笔记创作活动#
1月20日 打卡day5
今日学习 MySQL索引之道,了解到了联合索引最左匹配的原则,在什么时候联合索引会失效。在mysql8.0之后增加优化跳表扫描,联合索引第一个字段比较少的时候直接使用后面的索引也能使用联合索引。mysql5.6优化了索引下堆ICP,联合索引最左模糊得到结果,在看第二条件过滤拿到主键再回表。展开评论点赞 - #青训营笔记创作活动#
1月19日 打卡day4
今日学习 软件架构演进史单机架构c/s架构,集中式架构MVC,分布式微服务架构解决了单体应用扩展性差伸缩能力不足的问题,适合在云计算环境部署,作者在使用go micro与 go zero微服务框架开发项目。转型靠的是领域驱动设计。展开评论点赞 - #青训营笔记创作活动#
1月18日 打卡day3
今日学习 对于MySQL默认存储模式
InnoDB有了更深的理解,存储结构是B+树,一般认为InnoDB中3层B+树能达到高性能,再多层数将导致多IO读写,所以作者计算了InnoDB中3层B+树最多可存的数据量。
对于节点在MySQL通常称为页,每页限定最大行长度应略小于页面大小一半,通常说每个节点即页面大小16KB,所以最大行长度应该是略小于8KB,对于超过限制的行将改行可变长度列例如varchar text等存在溢出页也是外部页,然后节点只存储指向的指针。
每个页也需要对页面格式以及行格式进行属性信息存储,就是为什么需要最大行长度略小于页面一半的原因。所以认为每个页面做少存放两条数据,每条数据略小于8k。
那每个叶子节点16KB只能存放两条数据,整个三层N阶b+树可以存放N^2个叶子节点,一张表,根据存放字段的类型不同,以big int为例,可以存放最少一百二十多万条数据量。因此根据数据的条数以及数据类型字节等因素要综合分析,具体数据存在MySQL应该分几个表。不应该只是说通常MySQL每张表最好不超过2000万条数据。展开赞过评论1 - #青训营笔记创作活动#
1月17日 打卡day2
今日学习 看了常用的idea插件,例如Lombok的使用,,能够自动生成getter、setter、equals等方法,感觉省了不少代码工作量。其他插件使用也很实用啦。评论点赞 - #青训营笔记创作活动#
1月16日 打卡day1
今天学习了高并发场景下利用限流来处理流量高峰,了解了限流方法的分类,按范围分为单机限流和分布式限流,根据方式分为计数器、滑动窗口、漏桶及令牌桶限流。赞过评论1