2020年迟到的总结:收获满满

2021年假期第2天,再不总结,21年开工后更没时间总结了。不总结20年的过往,21年如何改进呢?

首先读了5本书:1和3精读,剩下2、4、5根据需要读了部分。

第1本书是有关稳定性测试的探索,侯杰翻译的《混沌工程:Netflix系统稳定性之道》,主要偏向于混沌工程的理论,通过一系列可控的实验和执行实验的原则,混沌工程将揭示出分布式系统中随时发生的各类事件是如何逐步导致系统整体不可用的。保证微服务稳定性测试的质量,要遵守5项原则:1) 建立稳定状态的假设;2) 用多样的现实世界事件做验证;3) 在生产环境中进行实验;4) 自动化实验以持续运行;5) 最小化爆炸半径。没有实践部分,后来看了阿里周洋肖长军以及Thoughtworks伍斌的实践和亚马逊黄帅的实践,有些触动。21年待看和实践的两本书《混沌工程实践:手把手教你实现稳定性》和《发布!设计与部署稳定的分布式系统(第2版)》,欢迎一起看一起分享。

第2本书是由赵靖  王延斌 曲立平 史长亭编著的国防特色教材《软件可靠性工程》,软件可靠性工程(Software Reliability  Engineering,SRE)是一门以减少软件系统在运行中不满足用户要求的可能性为目标的应用科学,其研究内容包括: 1) 软件可靠性的分析: 确定指标、设计开发过程、进行预计、分析失效严重性等。2) 软件可靠性的测量: 用失效数据和软件可靠性模型估计(或测量)软件运行的可靠性。3) 软件可靠性的管理:利用可靠性测量和其他信息来控制和改进开发过程,并对采购或重用的软件进行管理。4) 软件可靠性开发过程的改进:确定影响软件可靠性的因素,改进费用效益关系。如何评估一个系统的可靠性呢?几个9,RTO和RPO。这本书最终以草草看完了,里边建模部分待深入探讨,涉及大学数学知识傅立叶变换等等,除了建模部分,收货还是蛮大的。

第3本书是朱少民老师的《轻轻松松自动化测试》,介绍了很多测试工具,收益良多,开拓了视野,Selenium的Web功能测试、Aut0IT的功能测试-C/S、Jmeter的性能测试以及功能测试(web和数据库)、Junit的单元测试、EMMA测试覆盖率分析、MantisBT管理缺陷、TestLink管理测试。还介绍了自动化测试原理,如何构建自动化测试框架?如何制定自动化测试的标准?自动化测试如何落地实施?此外自己也留意一些其他故障管理软件,跟RedHat Bugzilla学习故障编写原则和如何上报故障,思科bug search故障查询。

第4本书《人类简史》尚未看完,几个有意思的话题,人类简史之人类怎么修炼成为食物链顶端的?人类简史之认知革命带来的虚构故事:人类简史之智人说狮子是我们部落的守护神?人类简史之智人如何打破神奇的团体数?人类简史之有限公司,人类简史之文化演化战胜基因演化。人类简史之现代人为何喜欢高热量食物?人类简史之智人怎么过“最初的富裕生活”。从几个世纪或几百万年的角度去思考历史,看待问题,高度足够。

第5本书是山金孝的《OpenStack高可用集群(上册):原理与架构》,尚未读完,主要是nova相关高可用和neutron架构相关章节,OpenStack虚机高可用,指在物理计算节点发生硬件故障时(如磁盘损坏、CPU或内存故障导致宕机、物理网络故障和电源故障),自动将该节点关闭,该节点上的虚机在集群中其它健康的计算节点上重启,实现虚机的动态迁移。通常基于三个步骤来实现:监控(Monitoring)、隔离(Fencing)和恢复(Recovery)。Nova对计算节点的跟踪监控通过探测Nova-compute服务的故障与否来进行隔离,Pacemaker提供了对集群节点的隔离功能,需要在计算节点上实现一个Evacuate的资源代理,从而允许Pacemaker触发节点上nova的Evacuate恢复操作。Pacemaker和Corosync是使用最多的服务高可用监控工具,但Corosync对计算节点的支持数目有限(最大16个节点),另外Redhat提出的Pacemaker_remote解决了这种限制。OpenStackneutron相关概念:VLAN网络主要用于私有云环境中,随着租户的增多,只有4096个vlan id是其最大弊端;可以创建overlay网络的GRE和VxLAN网络封装协议,二者主要区别在于GRE网络通过IP包进行数据传输,而VxLAN通过UDP包进行数据传输,GRE或VxLAN数据包在流出节点之前会被打上相应的GRE或VxLAN网络ID,在进入节点后对应的ID会被剥离,之后再进入节点内部的虚拟网络进行数据转发;GRE和VxLAN网络中的数据流要进入外部网络,必须配有路由器,路由是个虚拟设备,在特定插件支持下,路由还提供了L3和NAT功能(DNAT和SNAT),以使得外部网络与租户私有网络之间实现相互通信;不同租户间网络通过网络命名空间来隔离;安全组是虚拟防火墙的规则集合,对外部访问实例和实例访问外部的数据包实现端口级别的控制。OpenStack网络服务Neutron架构学到:neutron的分布式组件有哪些?组件间以什么方式通信?完整性的插件如何被淘汰?取而代之的是模块化的可插拔的插件。后面还想知道插件agent如何实现各种网络技术? ML2插件解耦了对不同网络驱动的调用,体会解耦的好处。两大类插件agent的L2 Agent和非L2Agent负责的功能。L3 Service主要提供虚拟机不同L2子网间的L3路由,以及虚拟机与外网之间的SNAT和基于Floating IP的DNAT功能。

剩下零零散散遇到问题的总结

0) 定位问题有关经验总结

mac地址冲突和web访问不了的通用定位技巧总结

如何分析系统不响应或响应慢

记一次周期性connecttimedout问题的定位


1) 存储有关

NFS 抓包        NFS基本原理

dd测试磁盘读写率

Linux结构需要清理之xfs

redhatxfs文件系统

xfs_respair一点理解

Linux虚拟机掉电后文件损坏或出错的原理和解决方案


2) 网络有关

虚拟化组网设备对接

交换机配置参数下发通道原理

交换机access vlan和trunk vlan

VLAN虚拟局域网

linux网卡配置后发出带vlan标签的报文

Overlay网络解决的3个问题

VXLAN网络模型和运行机制以及配置指导

ping检测丢包率和包延迟以及检查网络上的MTU值

端口转发系列文章:

ssh端口转发(建立加密隧道来端口转发)

Windows端口转发(Port Forwarding in Windows)

Linux端口转发(iptables)


3) 中间件数据库有关

MySQL数据库事务    MySQL存储引擎

MySQL备份和恢复  MySQL系统架构

数据库在软件架构的定位(软件分层)

pg高可用和负载均衡方面的各方案对比

pg集群设计方案

pg日志传送后备服务器

高可用集群之仲裁盘

仲裁盘的另一种用法:高可用集群故障转移


4) 中间件kafka有关

kafka快速上手


5) 虚拟化技术有关

Mount命名空间之理论篇

网络命名空间ipnetns

给网络命名空间增加或删除网卡(容器通用)

iptables和netfilter

kubernetes架构-组件交互篇

Kubernetes如何管理pod更高可用

RedHat KVM限制虚拟机的磁盘IO

Redhat KVM提供的看门狗设备使虚拟机更健壮

虚机网卡多队列提高网络I/O带宽QoS


6) 编程语言有关

自我修炼之Python一张图和廖雪峰Python教程

Python3datetime时间格式化 

Python随机生成字符串和整数:random 

Python字符串处理方法总结

git使用体验-结合廖雪峰教程

Pythonfind和rfind查找字符出现的索引并取出字符


生活上,这一年,家里添了个小苹果,下半年和老婆还有妈都比较累,尤其是老婆,心疼啊。男人唯有多关心多体贴多呵护。看着娃满满长大,我俩好开心好幸福。

你可能感兴趣的:(2020年迟到的总结:收获满满)