支付宝
支付宝是前天晚上9点半我在洗jio的时候电话打过来的,足以看出支付宝这边福报程度,P9大佬这个点还在加班,我吐。而且不预约是蚂蚁金服一贯的传统。这次面试应该也是过了,又面临着支付宝和阿里金融两难的选择境地。
1. 项目中为什么要用Nginx
用nginx做反向代理和负责均衡
2. Nginx为什么可以做负载均衡
一般来说公网延迟高,客户端与nginx之间的请求连接走公网,nginx先把这些请求缓存住,等这些请求数据全部完成之后nginx再向内网服务器请求,降低公网网络延迟成本,同时也降低一个连接占用服务端程序的时间。
因为tcp不一定一次就能把全部数据传输完毕,所以一个连接可能需要等待很久才能把所有需要的数据都传输完毕,而这样的空闲连接如果都直接连接到服务器上的话,会加重服务器负担,而nginx在这方面做了很大的优化,可以承载更多的连接,空闲连接也不会占据太多内存,所以nginx作为反向代理能降低上游服务器的负载。
Nginx提升网站性能的原因
Nginx比tomcat好在哪里?
主要有三个技术方面,master-worker进程模型,nio,协程机制
3. 正向代理和反向代理
正向代理隐藏真实客户端,反向代理隐藏真实服务端。
我们常说的反向代理其实也就是在tomcat后面做集群的时候,nginx隐藏了服务端的集群,这便是反向代理
而正向代理其实就是nginx向后台服务器隐藏了client端的br
本文分享了作者在支付宝和字节跳动的面试经历,主要涵盖了Nginx的使用、负载均衡、正向与反向代理、两阶段提交、线程池执行策略、Java泛型、HashMap结构、对象回收、乐观锁与悲观锁、MySQL优化、分库分表策略、ID自增保障和缓存一致性等多个技术点。
订阅专栏 解锁全文
821

被折叠的 条评论
为什么被折叠?



