mac 下docker多个网段与host间网络互通
背景
在macos系统下,如果在docker内部署多个容器,每个容器使用不同的网段,如使用172.17.x.x / 10.x.x.x 网段,则需要解决从宿主机到各个容器的网络通信。
如果是使用其他Linux系统的用户则不用担心这个问题,Linux系统会自动帮我们处理好ip之间的互通(宿主机和各个容器之间)。而Mac想要直接访问容器的ip,则需要曲线救国,通过搭建一个vpn服务,然后通过vpn再去和容器的网段互联。
经过尝试openvpn成为了最佳的解决方案。
其中网络连通的原理,如下图所示,openvpn作为一个转接的桥梁。
该容器(openvpn)在Docker For Mac容器和主机Mac本身之间创建VPN网络, 通过挂载多块虚拟网卡打通各个子网间的路由。
...
MAC 如何安装 bsddb3
可行的方案
conda install -c conda-forge bsddb3
详细文档见 https://anaconda.org/conda-forge/bsddb3
不成功的方式
pip install bsddb3直接安装失败,报错:
Collecting bsddb3 (from scrapy-deltafetch)
Using cached bsddb3-6.2.4.tar.gz
Complete output from command python setup.py egg_info:
Can't find a local Berkeley DB installation.
(suggestion: try the --berke...
SRE建设之质量建设
质量框架
维度
标准
说明
形式质量
完整性
不同于数据库的完整性约束概念,此处数据完整性描述数据集对具体业务目标的覆盖程度,可以从字段和记录两个维度分析。
可理解性
用来描述数据集是否能清晰的反应业务逻辑,字段和取值的具体意义是否明确。
一致性
用来描述数据在不同维度上的连贯性,包括数据集在时间轴上的前后连贯性和在相关的不同数据集之间的横向连贯性。一致性并不意味着数值上的绝对相同,而是数据收集、处理的方法和标准的...
SRE建设之事前建设
背景
稳定性的重要性,在VUCA约束下,达到稳定性,是对工程师全方位能力的锻炼。
VUCA
V: Volatility 易变性
U: Uncertainty 不确定性
C: Complexity 复杂性
A: Ambiguity 模糊性
CAP理论
C:Cost 成本
A:Quality 质量
P: Productivity 效率
不稳定的原因
人为因素
mindmap
root((人为因素))
代码编写
代码逻辑错误
异常处理不合理
第三方库使用不正确
未遵循开发规范
死循环
配置问题
超时时间...
supervisor python multiprocessing 监听信号 实现所有进程同时退出
supervisor 多进程管理
使用 supervisor 管理进程,如果被管理的项目是多进程模式,就需要注意一下:
1、程序内是否有接收处理 kill -15 | SIGnal。
2、python 程序无法监听 kill -9 信号(其他编程语言没有了解,但按理说应该是一样的),也无法拒绝(kill -9 是立马强制结束进程),所以不要随便使用 kill -9 结束一个进程(kill params[pid], 会允许程序延迟退出,所以程序内可以监听 kill -15 | SIGnal),如果使用 kill -9 结束了一个主进程,那么它的子进程就会成为孤儿进程,使用 kill -9 结束某个子进程,就会有可能导致其成为僵尸进程。
3、如果确实有需要强制结束某个进...
稳定性之heinrich’s law
海因里希法则和稳定性
海因里希法则是美国著名安全工程师海因里希提出的300:29:1法则。意思是:当一个企业有300起隐患或违章,非常可能要发生29起轻伤或故障,另外还有一起重伤、死亡事故。”海因里希法则”原是通过分析工伤事故的发生概率,为保险公司的经营提出的法则。
对于稳定性方面的启发是:如果能在发生第一个隐患时找到事情的根因,就可以避免后续的故障和事故。即在一件重大的事故背后必有29件“轻度”的事故,还有300件潜在的隐患。可怕的是对潜在性事故毫无觉察,或是麻木不仁,结果导致无法挽回的损失。了解“海因里希法则”的目的,是通过对事故成因的分析,让人们少走弯路,把事故消灭在萌芽状态。
根因探查 5Why模型
https://en.wikipedia.org...
24 post articles, 3 pages.