数据中心的所有链路都需要高可用性。服务器需要绑定网卡,交换机需要堆叠,三层设备可以通过等价路由,二层设备可以通过 TRILL 协议。
CDN 和电商系统的分布式仓储系统一样,分为中心节点、区域节点、边缘节点,而数据缓存在离用户最近的位置。CDN 最擅长的是缓存。
HttpDNS 通过客户端 SDK 和服务端,通过 HTTP 直接调用解析 DNS 的方式,绕过了传统 DNS 的这些缺点,实现了智能的调度。
DNS 是网络世界的地址簿,可以通过域名查地址,因为域名服务器是按照树状结构组织的,因而域名查找是使用递归的方法,并通过缓存的方式增强性能。
P2P 有两种,一种是依赖于 tracker 的,也即元数据集中,文件数据分散;另一种是基于分布式的哈希算法,元数据和文件数据全部分散。
AWS全线产品功能概览
动态路由主流算法有两种,距离矢量算法和链路状态算法。基于两种算法产生两种协议,BGP 协议和 OSPF 协议。
顺序问题、丢包问题、流量控制都是通过滑动窗口来解决的,这其实就相当于你领导和你的工作备忘录,布置过的工作要有编号,干完了有反馈,活不能派太多,也不能太少
HTTP 协议虽然很常用,也很复杂,重点记住 GET、POST、 PUT、DELETE 这几个方法,以及重要的首部字段
TCP 和 UDP 的 Socket 调用
TCP 包头很复杂,但是主要关注五个问题,顺序问题,丢包问题,连接维护,流量控制,拥塞控制;
典型的原则有两个,一是要求所有的告警都有 Runbook,二是要求分级合理。对于告警规则,还要注意生效时间的配置、发送频率、最大发送次数的配置。对于告警事件,要做好预先屏蔽、抑制,对于最后产生的告警,要做到聚合发送,减少打扰。
所谓的闭环,就是指告警发出、认领、协作处理、问题恢复、复盘改进的整个过程。
括号可以将某部分括起来,看成一个整体,也可以保存成一个子组,在后续查找替换的时候使用。
常见的匹配模式有 4 种,分别是不区分大小写模式、点号通配模式、多行模式和注释模式。
有左尖括号代表看左边,没有尖括号是看右边,而感叹号是非的意思。
元字符的转义一般在前面加反斜杠就行,方括号和花括号的转义一般转义开括号就可以,但圆括号两个都需要转义,我们可以借助编程语言中的转义函数来实现转义。
正则主要有两大流派,分别是 POSIX 流派和 PCRE 流派。其中 POSIX 流派有两个标准,分别是 BRE 标准和 ERE 标准,一般情况下,我们面对的都是 GNU BRE 和 GNU ERE。它们的主要区别在于,前者要转义。另外, POSIX 流派一个特点就是有自己的字符组 POSIX 字符组,这不同于常见的 \d 等字符组。PCRE 流派是如今大多数编程语言实现的流派,最大的特点就是支持\d\s\w 等。
正则解决的问题大概可以分成四类,分别是校验文本内容、提取文本内容、替换文本内容、切割文本内容。
正则引擎的匹配原理,NFA 和 DFA 两种引擎的工作方式完全不同,NFA 是以表达式为主导的,先看正则表达式,再看文本。而 DFA 则是以文本为主导的,先看文本,再看正则表达式。
正则处理问题的基本思路,通常是将问题拆解成多个小问题,每个小问题见招拆招:某个位置上可能是多个单字符就⽤字符组,某个位置上可能是多个字符串就⽤多选结构,出现次数不确定就⽤量词,对出现的位置有要求就用断言。遇到问题,你遵循这些套路,写出正则其实并不难。
除了从正则表达式自身的语法元素、功能特性等角度来理解正则表达式之外,我们还可以站在编程语言以及编程范式的层面去理解正则表达式。
Metrics Server 是一个 Kubernetes 插件,能够收集系统的核心资源指标,相关的命令是 kubectl top。
正则中量词默认是贪婪匹配,如果想要进行非贪婪匹配需要在量词后面加上问号。
所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,元字符是构成正则表达式的基本元件。正则就是由一系列的元字符组成的。
名字空间是一个逻辑概念,没有实体,它的目标是为资源和对象划分出一个逻辑边界,避免冲突。
Kubernetes 定义了 Startup、Liveness、Readiness 三种健康探针,它们分别探测应用的启动、存活和就绪状态。
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号