Posts /

互联网公司的技术体系

Twitter Facebook Google+
26 Oct 2015

 互联网,是个较为明确且范围有限的概念。因此,互联网技术相对也是有限的,互联网公司的技术体系也是有限的。

站得更高一点看,它也就“那么点技术”。

But,现在的我们依旧渺小。o(︶︿︶)o

对于互联网公司的技术体系,我有以下认识,仅供参考。

本文只是想表达一种观点互联网公司的技术体系是相对明确的,大多数公司就在“大圈里画小圈”。


第一层:终端设备

终端设备,是用户直接操作的工具,包括硬件设备、操作系统、应用程序3个部分。

常见的有5种:

1、PC客户端

    硬件(台式机+笔记本)+操作系统(Windows,Linux,iOS)+本地应用(QQ、酷我音乐盒、有道云笔记)

2、PC浏览器

   硬件(台式机+笔记本)+操作系统(Windows,Linux,iOS)+浏览器(IE、360、QQ、Chrome)

3、移动客户端

   硬件(手机+平板)+操作系统(Windows,Android,iOS)+本地应用(微信App、京东金融App、支付宝App)

4、移动浏览器

   硬件(手机+平板)+操作系统(Windows,Android,iOS)+浏览器(QQ、UC)

5、其它设备

    大型主机、路由器、互联网电视、车载导航系统、智能手表等多种设备。

第2层:域名解析

用户请求,需要先找到服务方的IP地址。但是,IP地址不够友好,大部分请求的地址URL是用域名来表示的,比如http://jd.com/article/xiaolei.jpg。

域名解析,是由全球无数个有层级节点的DNS服务器共同合作完成的。

国内的域名解析,注册域名之后,可以直接“解析”。但是,不能用作网站用途。

解析:把jd.com域名映射到11.12.13.254这个ip。

网站用途:访问jd.com。如果没有备案,运营商会提示“请首先备案”。

网站备案:最常见的是指域名备案,提交域名基本资料,到工信部备案。

其它备案,包括ICP证、电信增值业务许可证、公网安备等几十种。

没有相关“证书”和“牌照”的网站,都是处于“灰色地带”,随时会出事。


第3层:网络协议

信息传输过程中,会遵循各种网络协议。最常见的有,HTTP和TCP/IP。

第4层:请求分发

 软件和硬件实现的负载均衡机制,会把请求分发到其中一台服务设备上。

 负载均衡,常见的至少有2个层次,比如直接把域名解析到不同的IP上,可能直接交给了某台应用服务器,也可能是交给了Nginx,再转发给某台应用服务器。

第5层:应用容器

Weblogic、Tomcat、Apache等应用服务器和容器,通过容器中的程序来响应互联网请求。

这里需要简单提一下“内部分发网络CDN”。

用户请求,如果访问的是静态内容,可以直接去CDN获取,而不一定会到应用服务器这里。

第6层:展示交互层

Web请求,交给了Web容器比如Tomcat里的Java程序处理。

Java程序中,有一层专门用来接收请求,解析数据,在内部处理完成之后,把结果数据交给用户。

这一层,可以叫做Controller层、展示层、界面交互层等。

第7层:业务服务

第6层的展示交互层,只做数据的接收和简单封装,请求的核心响应逻辑,通常在“业务服务层”,这一层才是真正的处理“业务逻辑”的地方。

比如,用户购物、理财产品回款报表、物流运输路线等。

需要特别说明的是,随着互联网的发展,出现了各种各样的SaaS平台,第三方API,第三方可用服务,展示交互层和业务服务层,可以调用第三方的API,满足自身的需求。

第8层:数据层

数据库MySQL和MongoDB等。

缓存,Redis和Memcache等。

文件系统,本地和远程。

第9层:硬件和网络设备

主机、云主机、应用容器、虚拟容器、应用引擎、网络、IP、机房。

全局观:对于咱们有工作经验的人来说,先全局后局部,可以更有效率地学习和实践。

 



Twitter Facebook Google+