架构师之路再刷一下思路记录-4

看他的一分钟系列,相对简单,理解其他之后再看很多不用记录了

单机(独苗)、集群(多个服务冗余对外提供服务)、热备(服务冗余部署,只有一个主服务对外提供服务,影子服务在主服务挂了后自动切换)、磁盘阵列(RAID0 将连续的数据分散到不同的磁盘上存储,并行存取速度快、RAID1 将数据完全复制到另一个磁盘上,空间利用率减半但数据安全、RAID0+1、RAID5是RAID0+1的综合方案,读取快 多存储了校验位,安全性高 利用校验位恢复数据, 空间利用率不错 不完全复制,只冗余校验位)

AWK逐行处理文件中的数据:

#显示3-5行的数据
cat /etc/passwd | awk 'NR==3, NR==5{print;}'
#显示包含字符串docker的行
cat /etc/passwd | awk '/docker/'
#显示长度大于60的行,想打印行号就print NR
cat -n /etc/passwd | awk 'length($0)>60{print;}'
#显示3-5行的从第一段和最后一段的数据,默认空格为分隔符,$0为全部行,$其他为行数,$NF是最后一列
cat /etc/passwd | awk 'NR==3, NR==5{print $1,$NF}'
#也可以在其中加入其他字符、数字
df | awk '{print "cpu:",$5}'
df | awk '{print 666,$5}'
#想添加头尾信息
df | awk 'BEGIN{print "title"} {print $5} END{print "endtag"}'

测试分隔符
aaa#bbb#ccc#
333#9#9#
####
kkkkk#kk
340949
#以#为分隔符
cat test.txt | awk -F# '{print $1}'
cat test.txt | awk -v FS='#' '{print $1}'
#以#为分隔符并且输出时按照+号连接每段数据
cat test.txt | awk -v FS='#' -v OFS='+' '{print $1,$2}'
#NR是行号,NF是当前总的分段数
cat test.txt | awk -v FS='#' '{print $0,NR,NF}'

对于2PC,投票阶段和提交阶段,这个我理解就是先预留资源,本地操作最后提交的失败率远低于本地操作加网络通讯的失败率,减少失败率

原文地址:https://www.cnblogs.com/it-worker365/p/10025174.html