获得徽章 1
- #青训营笔记创作活动#
2月14号 day12
今天阅读 基于 AOP + Redis + 自定义注解 实现细粒度的接口IP访问限制 | 开源微服务项目,一般向外暴露的接口,都需要加上一个访问限制,以防止有人恶意刷流量或者爆破,访问限制的做法有很多种,从控制粒度上来看可以分为:全局访问限制和接口访问限制.基于 AOP + 自定义注解 + Redis. 步骤分为,引入依赖,写注解,写逻辑(添加注解;注入 RedisTemplate;定义方法; 实现方法)展开评论点赞 - #青训营笔记创作活动#
2月13号 day11
今天阅读
redis得基本数据类型有String(字符串),Hash(哈希),List(列表),Set(集合),ZSet(Sorted Set 有序集合。
高级数据类型有HyperLogLog:用来做基数统计的算法,。HyperLogLog 只会根据输入元素来计算基数,而不会存储输入元素本身
Geo:用来地理位置的存储和计算
BitMap:本质上是二进制字符串
展开评论点赞 - #青训营笔记创作活动#
2月12日 打卡day10
今日学习
200状态码代表前端收到后,可以放心使用响应的数据。 4XX是客户端错误(401客户端没用权限,404客户端请求了不存在的网页),5XX服务器问题(可能是由网关返回的,如nginx)
502代表: Bad Gateway(服务器无效的响应,主要集中在 TCP的RST【TCP包内的一个标志位】或四次挥手的FIN)
发出RST报文,一般有两个常见原因:
(1) 服务端过早断开连接,(2)服务端应用进程崩了 (3)内存访问越界 (4)网关将请求打到了一个不存在的IP上展开评论点赞 - #青训营笔记创作活动# 2月11日 day9
今日学习
TCP为基于字节流可靠通信,UDP基于数据报传输信息并不能保证信息传输的可靠性。
其两者的主要差别在于, TCP具有重传机制(根据打上seq和ack进行丢包重传),流量控制机(发送和接收窗口),滑动窗口机制(动态的去调节这个接收窗口的大小), 塞控制机制,分段机制(MSS传输层,网络层MTU,一般情况MSS=MTU-40Byte),乱序重排机制。
UDP+重传的场景,如果传超大数据包,一旦丢包,那就需要重传整个超大数据包。这种场景下,其实TCP更快。展开评论点赞 - #青训营笔记创作活动# 2023/02/10 day8
客户端开发有着“页面驱动设计”的编程思维(即开展工作离不开UI设计师)。
而服务端则是数据驱动设计思维的,在这个过程中数据库表结构的设计是最为重要的环节。
客户端的体系架构经历了3个阶段的演进: 从单机、集中式到分布式微服务架构。而当前的微服务分布试阶段则充分体现了DDD的思想,即通过一套科学的方法论建不同的领域确定领域的边界,同时微服务则是让DDD落地。展开评论点赞 - #青训营笔记创作活动# 2月9日
限流是为了防止达到系统的并发请求数量使得系统能够正常响应部分用户请求(而通过拒绝服务的方式),通过方式可分为:计数器,滑动窗口,漏桶限令牌桶限流,即redis+lua分布式限流等。1点赞 - #青训营笔记创作活动#
1月31日 day4
第0阶段,建立tcp链接,经过三次握手。
第1阶段,进行tls四次握手,主要利用非对称加密的特性进行交换信息,得到会话密钥。
(1)客户端告诉服务端加密协议,和随机数
(2)服务端告诉客户端,服务端随机数,证书,加密协议版本
(3)客户端再生成随机数,并从(2)中取出公钥,三个随机数产生会话密钥,产生摘要给服务端校验
(4)密钥传到服务端,产生摘要给客户端做校验
第二阶段,则是利用会话密钥进行对称加密。展开评论点赞 - #青训营笔记创作活动# 2023/01/19 day3
客户端开发有着“页面驱动设计”的编程思维(即开展工作离不开UI设计师)。
而服务端则是数据驱动设计思维的,在这个过程中数据库表结构的设计是最为重要的环节。
客户端的体系架构经历了3个阶段的演进: 从单机、集中式到分布式微服务架构。而当前的微服务分布试阶段则充分体现了DDD的思想,即通过一套科学的方法论建不同的领域确定领域的边界,同时微服务则是让DDD落地。展开评论点赞 - #青训营笔记创作活动#
1月18 day2
了解了几款常用的idea插件,包括Lombok(自动生成getter,setter等方法),restfulfastrequest来方便api测试,sequence diagram来生成时序图等。展开评论点赞