获得徽章 1
- #青训营笔记创作活动#
2月3号 打卡day16
今日学习排查502错误。
服务端是不可能给客户端返回状态码的。所以说,一般情况下5xx的状态码其实并不是服务器返回给客户端的。
它们是由网关返回的,常见的网关,比如nginx
反向代理:蔽掉具体有哪些服务器的代理方式就是所谓的反向代理。
反过来,屏蔽掉具体有哪些客户端的代理方式,就是所谓的正向代理。
当服务器发生异常时,实际上是Nginx识别之后返回5xx错误给客户端,服务端本身,并不会有5xx的日志信息。
502错误产生原因:502 (Bad Gateway) 状态代码表示服务器在充当网关或代理时,在尝试满足请求时从它访问的入站服务器接收到无效响应。
502其实是由网关代理(nginx)发出的,是因为网关代理把客户端的请求转发给了服务端,但服务端却发出了无效响应,而这里的无效响应,一般是指TCP的RST报文或四次挥手的FIN报文。展开评论点赞 - #青训营笔记创作活动#
2月1日 打卡day15
今日学习后端开发好习惯
1.注释尽可能全面,写有意义的方法注释
2.项目拆分合理的目录结构,如果服务过多,应该根据不同的业务进行划分,比如订单、登陆、积分等等
3. 不在循环里远程调用、或者数据库操作,优先考虑批量进行。远程操作或者数据库操作都是比较耗网络、IO资源的,所以尽量不在循环里远程调用、不在循环里操作数据库,能批量一次性查回来尽量不要循环多次去查。
4. 封装方法形参
5. 封装通用模板
6. 封装复杂的逻辑判断条件
7. 保持优化性能的嗅觉,比如避免创建不必要的对象、异步处理、使用缓冲流,减少IO操作等等。
8. 可变参数的配置化处理
9. 会总结并使用工具类。
10. 控制方法函数复杂度
11. 在finally块中对资源进行释放
12.把日志打印好
13. 考虑异常,处理好异常
14. 考虑系统、接口的兼容性
15. 代码采取措施避免运行时错误展开评论点赞 - #青训营笔记创作活动#
1月31日 打卡day14
今日学习网络原理,网络设计的两大核心问题:转发和标识。
转发的思想其实相当于传递,A->B->C
标识:MAC地址,给每台计算机设定唯一的物理地址
集线器:中间设备,将互联的计算机都连接到集线器
交换机:中间设备的更新
单工:只能有一个方向的通信而没有反方向的交互。
半双工:通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。
全双工:通信的双方可以同时发送和接收信息。展开评论点赞 - #青训营笔记创作活动#
1.27 打卡day12
今日学习了抓包的原理,复习了TCP/IP的四次握手,有了新的收获评论点赞 - #青训营笔记创作活动#
1月24日打卡day11
今日学习了写好代码的45个技巧。作者联系工作实际和知识点本身,为我们讲解了写代码易错和美观需要注意的地方,值得一读评论点赞 - #青训营笔记创作活动#
1月23日 打卡day10
今日学习UDP和TCP两大协议的区别。首先数据传输是基于socket的。TCP协议是面向连接、可靠的、基于字节流的协议。相反,UDP协议是无连接、不可靠的、基于数据报的协议。
重传机制:
对于TCP,它会给发出的消息打上一个编号(sequence),接收方收到后回一个确认(ack)。发送方可以通过ack的数值知道接收方收到了哪些sequence的包,如果长时间等不到对方的确认,TCP就会重新发一次消息。
学习了TCP的重传机制、流量控制、滑动窗口、拥塞控制、分段以及乱序重排机制等各种机制。
UDP比TCP慢的情况:
因为UDP在ip层之前是不会分段的,如果数据过大,进入IP层,还是会进行分段。此时发生包丢失的话,再次重传,就会重传整个大数据包,耗时间。
解决:UDP的应用层实现分段机制
TCP是面向连接的协议,而UDP是无连接的协议。这里的"连接"其实是操作系统内核在两端代码里维护的一套复杂状态机展开评论点赞 - #青训营笔记创作活动#
1月20日 打卡day9
今日学习如何看英文文档,博主列出一系列自身实际经验,帮助我们少走弯路,快速上手,值得一看评论点赞 - #青训营笔记创作活动#
1月19日 打卡day8
今日学习kafka,这是一个陌生的名词。kafka可以分为三部分:消息系统,存储系统和流式处理平台。
消息系统:具备系统解耦、冗余存储、流量削峰、缓冲、异步通信、扩展性、可恢复性等功能,供了大多数消息系统难以实现的消息顺序性保障及回溯消费的功能。
存储系统:把消息持久化到磁盘,有效的降低了数据丢失的风险。
流式处理平台:为每个流行的流式处理框架提供了可靠的数据来源,还提供了一个完整的流式处理类库。
kafka体系的三大术语:
Producer:生产者,也就是发送消息的一方。生产者负责创建消息,然后将其投递到 Kafka 中。
Consumer:消费者,也就是接收消息的一方。消费者连接到 Kafka 上并接收消息,进 而进行相应的业务逻辑处理。
Broker:服务代理节点。Broker 可以简单地看作一个独立的 Kafka 服务节点或 Kafka 服务实例。
两个概念:
主题(Topic):Kafka 中的消息以 topic 题为单位进行归类,生产者负责将消息发送到特定的 topic (发送到 Kafka 集群中的每一条消息都要指定一个主题),而消费者负责订阅主题并进行消费。
分区(Partition):主题是一个逻辑上的概念,它还可以细分为多个分区,一个分区只属于单个主题,很多时候也会把分区称为主题分区(Topic-Partition)。展开评论点赞 - #青训营笔记创作活动#
1月18日 day7
今日学习websocket协议,http协议中服务器不能主动的向客户端发送数据,websocket是全双工,即服务器和客户端可同时发送数据给对方。使用方法:TCP在三次握手进行一次通讯之后,在HTTP请求中带上一些特殊的headerConnection:
Upgrade
Upgrade: websocket
Sec-WebSocket-Key: T2a6wZlAwhgQNqruZ2YUyg==\r\n展开评论点赞