|
深夜,领导:“你写的接口有问题!赶紧起床瞧瞧”。
Ding!催命软件一响,你就知道,该work了。
可思来想去,觉得不可能啊。我的代码,就是一个简单的redis查询啊,难不成是Redis挂了?
同事把证据全部发到了群里,是你的接口无疑。一个简单的Get查询,平均耗时达到了2秒。jstack,promethus的监控,把问题全部指向到了你的接口!
登录Redis服务器,一切正常。该怎么办?要这么不明不白不清不楚的背个章丘大铁锅么?
1. 快是原罪
这种情况下,要相信自己的直觉。你的接口又快又好,很可能是木秀于林,鹤立鸡群,当了替罪鸟。
在 “某些” "高并发"环境下,由于资源未做隔离,在发生问题的时候,一些日志和工具的表现,会有非常强的迷惑性。
发生问题的,都是速度最快、请求最多的接口,但理论上并不可能。
面试官:不错,那你了解什么是HTTP分块传送吗
-
朋友:分块传送是HTTP的一种传输机制,允许服务端发送给客户端的数据分成多个部分,该协议在HTTP/1.1提供
面试官:HTTP分块传送有什么好处
-
朋友:HTTP分块传输编码允许服务器为动态生成的内容维持HTTP持久连接
-
朋友:分块传输编码允许服务器在最后发送消息头字段。对于那些头字段值在内容被生成之前无法知道的情形非常重要,例如消息的内容要使用散列进行签名
-
朋友:HTTP服务器有时使用压缩 (gzip或deflate)以缩短传输花费的时间。分块传输编码可以用来分隔压缩对象的多个部分。在这种情况下,块不是分别压缩的,而是整个负载进行压缩。分块编码有利于一边进行压缩一边发送数据
面试官:HTTP的长连接你怎么理解
-
朋友:长连接是指客户端和服务建立TCP连接后,它们之间的连接会持续存在,不会因为一次HTTP请求后关闭,后续的请求也是用这个连接
-
朋友:长连接可以省去TCP的建立和关闭操作,对于频繁请求的客户端适合使用长连接,但是注意恶意的长连接导致服务受损(建议内部服务之间使用)
面试官:HTTP是安全的吗?怎么做到安全的HTTP协议传输
-
朋友:并非安全,HTTP传输的数据都是明文的,容易被第三方截取;要做安全传输数据,可以使用HTTP的升级版HTTPS协议
面试官:HTTPS和HTTP的区别,你是怎么理解的
-
朋友:1)http协议的连接是无状态的,明文传输
-
朋友:2)HTTPS则是由SSL/TLS+HTTP协议构建的有加密传输、身份认证的网络协议
面试官:SSL/TLS是什么,HTTPS的安全性是怎样实现的?
-
朋友:SSL(Secure Socket Layer 安全套接层)是基于HTTPS下的一个协议加密层,保障数据私密性。TLS(Transport Layer Security)则是升级版的SSL
-
朋友:https在http基础加了一层安全认证及加密层TLS或者SSL,它首先会通过安全层进行ca证书认证,正确获取服务端的公钥
-
朋友:接着客户端会通过公钥和服务端确认一种加密算法,后面的数据则可以使用该加密算法对数据进行加密
(编辑:衡水站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|