概述
互联网,是个较为明确且范围有限的概念。因此,互联网技术相对也是有限的,互联网公司的技术体系也是有限的。
站得更高一点看,它也就“那么点技术”。
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、机房。
全局观:对于咱们有工作经验的人来说,先全局后局部,可以更有效率地学习和实践。
最后
以上就是老实日记本为你收集整理的互联网公司的技术体系的全部内容,希望文章能够帮你解决互联网公司的技术体系所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复