蓝绿部署、滚动发布、灰度发布等方案对比总结

文章目录 * 1 各种方案对比总结 * 1.1 蓝绿发布(Blue/Green Deployment) * 1.2 灰度发布 * 1.3 滚动发布(Rolling Update Deployment) * 2 其它发布方式 * 2.1 功能开关发布 * 2.2 影子测试 各种方案对比总结 转载至 在项目迭代的过程中,不可避免需要进行项目上线。上线对应着部署或者重新部署,部署对应着修改,修改则意味着风险。 目前有很多用于部署的技术,有的简单,有的复杂,有的得停机,有的不需要停机即可完成部署。本文将对目前常用的部署方案做一个简单的总结。 蓝绿发布(Blue/Green Deployment) 定义 蓝绿部署是不停老版本,部署新版本然后进行测试。确认OK后将流量切到新版本,然后老版本同时也升级到新版本。 特点 蓝绿部署无需停机,

pam_tally2计数器在每次sudo时都增加的BUG

背景 客户要求用pam_tally2来限制输入密码多次错误后锁定 在/etc/pam.d/common-auth中增加下面选项进行限制 auth required pam_tally2.so deny=6 onerr=fail no_magic_root unlock_time=120 配置完后手使用ssh进行测试,输入密码错误6次后会锁定120秒,解锁后输入正确密码,pam_tally2计数器清零 查看计数器的命令如下: pam_tally2 -u maintain 显示结果 Login Failures Latest failure From maintain 0 问题 配置完成后通过ansible远程执行命令使用sudo提权的时候,一直提示密码错误,排查问题中发现只要使用SUDO就会增加密码错误次数(密码正确时也一样),当密码正确也不会清零 只能使用手动清零 pam_tally2

FastDFS安装配置

文章目录 * 1 环境 * 2 安装 libfastcommon * 2.1 下载 * 2.2 解压 * 2.3 编译、安装 * 3 安装FastDFS * 3.1 下载 * 3.2 解压 * 3.3 编译、安装 * 3.4 相应文件与目录 * 3.4.1 服务脚本: * 3.4.2 配置文件 * 3.4.3 命令工具 * 3.5 配置Tracker * 3.6 启动 * 3.

csvn管理员root密码找回

文章目录 * 1 前言 * 2 正文 * 2.1 停止Subversion Edge * 2.2 修改 前言 如果您正在寻找重置管理员密码的选项,因为您忘记了它,在不删除数据库的情况下重置此密码的唯一方法是直接编辑它(这很简单)。 正文 停止Subversion Edge bin/csvn stop 修改 找到你的安装目录,这将包含一个名为data的文件夹,其中包含一个名为“csvn-production-hsqldb.script”的文件。 在文本编辑器中打开此文件。搜索“’admin’”(带单引号) – 你应该找到一行如下所示: INSERT INTO USER VALUES(1,2,'admin user','admin@example.com',TRUE, '78989asdef7898abde4252aedcb4352','Super Administrator',

Docker私有仓库搭建和使用 registry2.0

文章目录 * 1 前言 * 2 正文 * 2.1 安装registry * 2.1.1 pull registry * 2.1.2 防火墙添加规则 * 2.1.3 启动registry * 2.2 测试 * 2.2.1 push镜像 * 2.2.2 pull镜像 前言 项目上准备开始使用docker,准备搭建一个室友仓库进行镜像管理,用Docker Registry 2.0搭建一个私有仓库,然后将Docker镜像推送到私有仓库。 正文 安装registry pull registry docker pull registry 防火墙添加规则 firewall-cmd --permanent

python_hasattr()-getattr()-setattr()函数

介绍 python类操作中一个比较常用的就是getattr()用来调用一个类中的变量或者方法,相关联的hasattr()、getattr()、setattr()函数的使用也一并学习了一下; 正文 hasattr hasattr(object, name) 判断object对象中是否存在name属性,当然对于python的对象而言,属性包含变量和方法;有则返回True,没有则返回False;需要注意的是name参数是string类型,所以不管是要判断变量还是方法,其名称都以字符串形式传参;getattr和setattr也同样; class A(): name = 'python' def func(self): return 'A()类的方法func()' print(hasattr(A, 'name')) # 返回True print(hasattr(A, 'age')) # 返回False print(hasattr(A, 'func')) # 返回True getattr getattr(object,

postgresSQL备份还原

文章目录 * 1 前言 * 2 一般选项 * 3 控制输出的选项 * 4 控制连接的选项 * 5 示例 * 6 压缩备份 前言 pg_dump是用于备份一种PostgreSQL数据库的工具。即使数据库正在被并发使用,它也能创建一致的备份。pg_dump不阻塞其他用户访问数据库(读取或写入)。 pg_dump只转储单个数据库。要备份一个集簇中 对于所有数据库公共的全局对象(例如角色和表空间),应使用 pg_dumpall。 转储可以被输出到脚本或归档文件格式。脚本转储是包含 SQL 命令的纯文本文件,它们可以用来重构数据库到它被转储时的状态。要从这样一个脚本恢复,将它喂给psql。脚本文件甚至可以被用来在其他机器和其他架构上重构数据库。在经过一些修改后,甚至可以在其他 SQL 数据库产品上重构数据库。 一般选项 -f, --file=FILENAME output file or directory name导出后保存的文件名

yum下载离线安装包

前言 有时候有些服务器没有外网,但又需要安装一些依赖比较复杂的软件,可以在又网络的虚拟机中用同样的系统版本及源,将RPM包下载好,然后复制到没有公网的服务器上进行安装 yum yum命令本身就可以用来下载一个RPM包,标准的yum命令提供了--downloadonly(只下载)的选项来达到这个目的。 sudo yum install --downloadonly --downloaddir=./tmp package-name yum将会把所有的依赖关系包下载,但是都不会被安装。 另外一个重要的事情是,在CentOS/RHEL 6或更早期的版本中,你需要安装一个单独yum插件(名称为 yum-plugin-downloadonly)才能使用--downloadonly命令选项: sudo yum install yum-plugin-downloadonly 如果没有该插件,你会在使用yum时得到以下错误: Command line error: no such option: --downloadonly

MySQL Group Replication(MGR) 动态添加成员节点

文章目录 * 1 相关信息 * 2 修改已有节点配置 * 3 安装mysql * 4 配置MGR * 4.1 创建授权用户(test-4) * 4.2 配置同步使用的用户 * 4.3 安装mysql group replication插件 * 4.4 启动 * 4.5 检查 相关信息 MGR单主模式搭建完成 原MGR节点 192.168.3.252:3306 192.168.222.171:3306 192.168.222.70:3306 新增节点 192.168.222.78:

innodb_force_recovery强制修复MySQL异常关闭问题

文章目录 * 1 修改配置文件 * 2 重启数据库 * 3 恢复配置文件 * 4 重新执行MySQL的安全脚本 修改配置文件 在mysql的配置文件my.cnf里添加以下代码: [mysqld] #可以设置1-6 innodb_force_recovery=1 innodb_purge_thread=0 配置文件的参数:innodb_force_recovery innodb_force_recovery影响整个InnoDB存储引擎的恢复状况。默认为0,表示当需要恢复时执行所有的恢复操作(即校验数据页/purge undo/insert buffer merge/rolling back&forward),当不能进行有效的恢复操作时,mysql有可能无法启动,并记录错误日志; innodb_force_recovery可以设置为1-6,大的数字包含前面所有数字的影响。当设置参数值大于0后,可以对表进行select,create,