一个请求背后的事情
在浏览器或者手机客户端发送请求,在技术人员来看到底中间做了什么事情,能正确的把请求发送到我们的服务器上。
我们服务器之前的事情
如上图所示:
一个稍大一点的公司会配备it部门和运维部门,这些操作一般是有他们所负责。
其中最为主要的是dns服务解析这块内容,可以参考
dns原理及其解析过程。
一个请求从浏览器发出,浏览器做的事情首先是访问本机的hosts,如果是window系统的话C:\Windows\System32\drivers\etc\hosts ,linux就在/etc/hosts下面,然后浏览器会拿到你本机上所配置的dns服务器的地址,这个是联网之后由运营商提供的,会在本地连接中显示出来ip的。然后拿到dns服务器地址后通过域名解析出ip,最后浏览器发送请求出去。
到达我们服务器
从用户运营商的dns服务器,到达了我们公司自己的服务器。在这块要具体讲一下。一般公司都会在自己的服务器上面
加上nginx大代理进行域名匹配分流,因为如果修改dns的配置的话需要同步到全世界仅有的12台
根dns服务器上去,并且还要等待各大运营商同步。所以通过修改本公司内部的nginx配置进行域名匹配分流,可以达到无差别的,无消耗的瞬间切换配置。方便了很多。
到达我们的业务
在稍微技术成熟的公司现在所采取的架构应该都是依托于web服务作为接口,然后通过中间件打通到各个垂直业务,然后再通过web服务拼装数据返回。
所谓的中间件其实就是rpc框架服务,这个概念是在80年代中Bruce提出的,具体的rpc可以参考
深入浅出 RPC - 浅出篇 ,讲的非常好。