获得徽章 2
- 1月31日 day9
HTTP状态码用来表示响应结果的状态,其中200是正常响应,4xx是客户端错误,5xx是服务端错误。
客户端和服务端之间加入nginx,可以起到反向代理和负载均衡的作用
后端服务端应用如果发生崩溃,nginx在访问服务端时会收到服务端返回的RST报文,然后给客户端返回502报错。
如果发现502,优先通过监控排查服务端应用是否发生过崩溃重启,如果是的话,再看下是否留下过崩溃堆栈日志,如果没有日志,看下是否可能是oom或者是其他原因导致进程主动退出。如果进程也没崩溃过,去排查下nginx的日志,看下是否将请求打到了某个不知名IP端口上。 #青训营笔记创作活动#
展开评论点赞 - #青训营笔记创作活动#
1月20 day8
mysql四层架构
连接层:主要是指数据库连接池,会负责处理所有客户端接入的工作。
服务层:主要包含SQL接口、解析器、优化器以及缓存缓冲区四块区域。
存储引擎层:这里是指MySQL支持的各大存储引擎,如InnoDB、MyISAM等。
文件系统层:涵盖了所有的日志,以及数据、索引文件,位于系统硬盘
展开评论点赞 - #青训营笔记创作活动#
1月18 day7
https的host 与 request body都是被加密的。
HTTPS握手中的Client Hello阶段,里面有个扩展server_name,会记录你想访问的是哪个网站
Http建立过程
第一阶段是TLS四次握手,这一阶段主要是利用非对称加密的特性各种交换信息,最后得到一个"会话秘钥"。
第二阶段是则是在第一阶段的"会话秘钥"基础上,进行对称加密通信。
展开评论点赞 - #青训营笔记创作活动#
1月16 day6
UDP提供最小网络传输功能
TCP提供可靠的网络传输
两者都是基于socket,只是数据传输的方式不同评论点赞 - #青训营笔记创作活动#
1月16 day5
Kafka是一个具备系统解耦、冗余存储、流量削峰、缓冲、异步通信、扩展性、可恢复性以及特殊的消息顺序性保障及回溯消费等功能的消息中间件
评论点赞 - #青训营笔记创作活动#
1月15日 day 4
Websocket与http的差别
http与websocket区别
websocket全双工通信,http半双工通信
Http可以通过长轮询的方式代替websocket(在无法用websocket时使用)
Websocket相比http协议,请求头多了
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Key: T2a6wZlAwhgQNqruZ2YUyg==\r\n
意思是讲http协议升级为ws协议展开评论点赞 - #青训营笔记创作活动#
1月14日 day3
索引失效:
建立不当,使用顺序未遵循最左匹配原则
索引列上使用了函数,或者有计算操作
Like左边包含%
Or,in,not in not exist关键字
Order by使用不当
展开评论点赞 - #青训营笔记创作活动#
1月13 Day2
分表的根据:(三层以内b+树)
B+树的查询主要在磁盘io耗时。
Innodb,有页格式与行格式(可变字符与溢出字符)
展开评论点赞 - #青训营笔记创作活动#
1月11 day1
流量高峰应对方法(限流,熔断,降级)
限流:单机限流与分布式限流
方法:
计数器法(实现简单,但是边界处理有问题)
滑动窗口(计数器升级版,用格子数量控制精度,还是有边界问题)
漏桶算法(限制常量流出速率,不能出现突发流量,不能多消费)
令牌桶(限制平均流入速率,非常常用)
redis+lua(分布式限流,依赖redis,边界处理不好)
容器限流(nginx,tomcat)
限流组件(如java的RateLimiter,go的channel控制)展开评论点赞