互联网公司的技术体系

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

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

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、机房。

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

 


时间: 2024-07-28 13:42:53

互联网公司的技术体系的相关文章

国内各大互联网公司相关技术博客3.0版 (集合腾讯、阿里、百度、搜狐、新浪、网易、360等共29个)

在2013-07-15 整理了一份国内各大互联网公司相关技术站点2.0版 (集合腾讯.阿里.百度.搜狐.新浪.360等共49个) 近日重新整理了一番,希望能对大家有所帮助 2013年 腾讯系列(13)  阿里系列(18)  百度系列(3)  搜狐系列(3)  新浪系列(2)  360系列(2)   其他(9) 2016年 腾讯系列(9)  阿里系列(5)  百度系列(6)  搜狐系列(1)  新浪系列(1)  360系列(2)   其他(3) 新增 网易(2) 腾讯系列(9) 1.财付通设计中心

一系列国内外顶尖互联网公司的技术博客,晋升程序员必备!

顶尖公司是大多数程序员都梦寐以求进入的地方,但是技术不行怎么办?学啊!这里收集了一系列国内外顶尖互联网公司的技术博客,好好给自己充充电! 国内技术博客列表 腾讯游戏 DBA 团队 http://tencentdba.com 腾讯互娱游戏 DBA 团队一直致力于为游戏提供稳定.高效的 DB 运营服务.现有的 MySQL 社区版已经不能满足快速发展中的游戏业务需求.于是该团队在 MySQL 5.5 基础上,开发和维护了 MySQL 的新分支 TenDB. 腾讯 AlloyTeam http://ww

解密国内BAT等大厂前端技术体系-百度篇(长文建议收藏)

1 引言 整个业界在前端框架不断迭代中,也寻找到了许多突破方向,例如跨平台中的RN.Flutter,服务端GraphQL.Serverless,前端和客户端的融合越来越紧密,前端在Node和Electron的加持下,也扩展了自己的版图到服务端和桌面. 同时,随着前端开发越来越复杂,整个前端研发也经历了人工化->工具化->工程化->智能化的演变.目前各个大厂在工程化实践不断迭代,出现了许多Low/No Code等前端智能化解决方案,工程化实践也深入到研发的各个环节,不断提升前端研发的标准化

技术体系

2016年前端开发者深度调研,看看别人使用什么技术体系

架构的力量!!2016解密互联网公司架构技术

大型互联网架构 解决问题的通用思路是将分而治之(divide-and-conquer),将大问题分为若干个小问题,各个击破.在大型互联网的架构实践中,无一不体现这种思想. 架构目标 低成本:任何公司存在的价值都是为了获取商业利益.在可能的情况下,希望一切都是低成本的. 高性能:网站性能是客观的指标,可以具体体现到响应时间.吞吐量等技术指标.系统的响应延迟,指系统完成某一功能需要使用的时间:系统的吞吐量,指系统在某一时间可以处理的数据总量,通常可以用系统每秒处理的总的数据量来衡量:系统的并发能力,

国内各大互联网公司相关技术站点2.0版

腾讯系列(13)  阿里系列(18)  百度系列(3)  搜狐系列(3)  新浪系列(2)  360系列(2)   其他(9) 腾讯系列(13) 1.MacQQ的项目团队 IBlog 2.财付通设计中心 UID 3.QQ邮箱博客 4.QQ客户端团队博客 5.腾讯用户研究与体验设计中心 CDC 6.腾讯Web前端 Alloy 团队 Blog 7.腾讯微信博客 8.腾讯游戏官方设计团队TGideas 9.QQ游戏设计中心GDC 10.腾讯移动互联网设计团队MXD 11.腾讯电商用户设计体验部ECD

《深入理解Java虚拟机》第一部分(Java技术体系,Java虚拟机,Java技术趋势)

第一部分 走进Java 1.Java技术体系 Sun官方定义的Java技术体系包括一下几个组成部分: Java程序设语言 各种硬件平台上的Java虚拟机 Class文件格式 Java API类库 第三方Java类库 JDK是用于支持Java程序开发的最小环境,Java程序设计语言.Java虚拟机.JavaAPI类库统称为JDKJRE是支持Java程序运行的标准环境,JavaAPI类库中的JavaSEAPI子集和Java虚拟机统称为JRE 按照Java技术关注的重点业务领域来分,Java技术体系可

关于Javascript技术体系

Javascript技术体系主要包含了五个方面的内容: Javascript核心语言定义:每一种编程语言都有自已的核心语法,包括数据类型,变量,常量,运算符,语句等. 原生对象和内置对象:为方便程序员的工作,编程语言的发明发布者通常会基于核心语言,编写一些类似Java类库的特定程序,随核心语言一起发布.ECMA发布Javascript时,同样附带了一些称为内置对象的程序. 浏览器对象模型BOM:因为网页是嵌入在浏览器中运行,我们有时候需要对浏览器的导航栏,浏览器窗口进行控制,Javascript

如何构建技术体系

研发人员应该以下方面去梳理技术体系.包括工具的使用.技术的更新. 需求分析 分析需求,用合理合适的架构.技术模型去解决需求问题. 开发 架构的搭建,工具的使用,coding管理. 测试 系统测试.安全测试.压力测试. 部署 多机房.负载. 运维 监控.报警.trace跟踪.