第六届字节跳动青训营第六课 | 青训营

84 阅读4分钟

企业接入升级打怪之路

域名系统:

host管理:

#example公司主机表 10.1.2.3 oa.example.com 办公 10.2.3.4 wiki.example.com 文档 10.3.4.5 passport.example.com 员工认证 10.4.5.6 people.example.com 人事 ……使用host主机表管理方式,来管理 host->ip的映射。也就是网络运维人员维护主配置,员工通过http协议来拉去host主配置,从而达到访问不同系统的目的。 随着example公司业务规模和员工数量的增长,使用该方式面临诸多问题: .流量和负载:用户规模指数级增长,文件大小越来越大,统一分发引起较大的网络流量和cpu负载 .名称冲突:无法保证主机名称的唯一性,同名主机添加导致服务故障。 .时效性:分发靠人工上传,时效性太差。

使用域名系统:

使用域名系统替换hosts文件。

关于域名空间:

域名空间被组织成树形结构;全球公共域名空间仅对应一棵树;域名组成格式:[a-zA-Z0-9_-],以点划分label。

顶级域gTLD:

general Top-level Domains:gov政府.edu教育.com商业.mil军事.org非盈利组织。

自建DNS服务器:

DNS查询过程:

当网络客户端想访问www.163.com这个域名,它会优先访问本地的DNS服务器。一般来说,第一次访问的话是会有这个域名的解析结果的,它会依次地向根顶级域以及权威DNS进行解析。

DNS记录类型:

A/AAAA:IP指向记录,用于指向IP,前者为IPv4记录,后者为IPv6记录 CNAME:别名记录,配置值为别名或主机名,客户端根据别名继续解析以提取IP地址 TXT:文本记录,购买证书时需要 MX:邮件交换记录,用于指向邮件交换服务器 NS:解析服务器记录,用于指定哪台服务器对于该域名解析 SOA记录:起始授权机构记录,每个zone有且仅有唯一的一条SOA记录,SOA是描述zone属性以及主要权威服务器的记录

HTTPS协议:

对称加密和非对称加密:常见的加密算法有对称加密-一份秘钥和非对称加密-公钥和私钥。

SSL的通信工程:

其实在SSL界加密套件的种类有很多,以最简单的RSA套件来举例。首先client和server都发了一个client hello消息,这个消息包含了客户端所支持的密码组合,服务器让它进行选择,client random是一个随机字符串,server端在收到这条消息之后又发送了一个server hello给client,这个消息包含了数字的增数链以及服务器选择的密码组合还有一个server random随机字符串。接下来客户端会对发来的公钥进行验证,来保证对方的一个合法身份,客户端就会生成一个域主密钥premaster secret,这个secret会经过服务器的公钥进行加密,只有服务器的私钥来解密。到这里可以看到client和server都有了相同的四个属性,client random,server random,premaster secret和session key,通过这个session key来进行数据传输。

接入全站加速:

静态加速CDN的优势:

解决服务器端“第一公里”问题;缓解甚至消除了不同运营商之间的互联的瓶颈造成的影响;减轻了各省的出口带宽压力;优化了网上热点内容的分布。 动态动态DCDN:针对POST等非静态请求等不能在用户边缘缓存的业务,基于智能手机选路技术,从众多回源线路中择优选择一条线路进行传输。

四层负载均衡:

基于ip+端口,利用某种算法将报文转发给某个后端服务器,实现负载均衡落地到后端服务器上。主要功能:解耦vip和rs:用户服务不再局限于一台物理机,它可以灵活地指向后端,从而使后端地容量可以灵活地扩松和扩容。NAT:它将不做任何请求的处理,而是把请求转换为后端作为一层反向代理。防攻击syn proxy:避免后端直接将物理机暴露在官网。

七层负载均衡:

Nginx:模块化设计,较好的扩展性和可靠性;基于master/worker架构设计;支持热部署,可在线升级;不停机更新配置文件、更换日志文件、更新服务器二进制;较低的内存消耗,1万个keep- alive连接模式下的非活动连接仅消耗2.5M内存;事件驱动,异步非阻塞模型、支持aio、mmap(内存映射)