故障分析 | 如何提高 MHA 的网络容忍能力?(上)

安全运维工程师需要具备哪些综合能力? 运维工程师需要掌握基础的服务,如SSH服务、NFS网络文件系统、DHCP/DNS、数据同步服务等;常用数据库;常用服务,如JavaWeb服务Tomcat、Jboss、Weblogic等;系统监控与报警;容器技术等职业技能。 首先我们从运维工程师的工作职能入手,岗位工作内容: 1、平台架构组建 运维工程师的基本工作之一,主要负责参与并审核架构设计的合理性和可运维性,以确保系统上线后,安全、高效、稳定运行。保障并不断提升服务的可用性和数据安全性,提升用户体验。 2、日常运营保障 初级运维负责运用运维技 阅读详情

作者:刘开洋

爱可生交付服务部团队北京 DBA,主要负责处理 MySQL 的 troubleshooting 和我司自研数据库自动化管理平台 DMP 的日常运维问题,对数据库及周边技术有浓厚的学习兴趣,喜欢看书,追求技术。

本文来源:原创投稿

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

一、问题说明

MHA 虽然停止更新了,但是其高可用的强大仍然为很多公司所青睐。我司客户由于一次网络故障,导致公司整体的网络通信出现问题,网络丢包严重,导致 MHA 管理下的 MySQL 主从集群发生切换。

众所周知,MHA 对数据库高可用集群的维护时一次性的,出现切换就要手工去重新加入集群,如果所有服务器网络再次出现问题,MHA 的频繁切换就会影响生产。

客户咨询:如果再出现这种网络问题,如何提高 MHA 的容忍能力?

接下来我们就对该场景进行相关测试。

二、环境信息

在测试过程中,尽最大可能地和客户现场的配置信息尽量相同,达到接近生产环境的测试效果。

类别信息
MySQL 版本MySQL 5.7.25
MySQL 架构1 主 2 副
操作系统CentOS 7
MHA 版本0.57

测试参数

  • ping_interval

    该参数表示 MHA manager 节点 ping(执行 select ping sql 语句)master 节点的间隔,如果连续三个丢失 ping 连接,MHA manager 就判定 master 宕掉了。

    参数通过 4 次 ping 间隔(9s)的最大时间的机制来发现故障,从而进行 failover,默认参数值为 3,表示每次 ping 的间隔是 3 秒。

  • secondary_check_script

    默认情况下,MHA Manager 只会通过执行 select ping sql 语句来检查 Master 是否存活。通过 review 相关参数发现,可以通过使用外部 secondary_check_script 配置的脚本来做到从多个网络连接进行检查。

    配置:

     secondary_check_script = masterha_secondary_check -s remote_host1 -s remote_host2
    

    原理:MHA 内置 masterha_secondary_check 容忍大多数网络场景现象,而不发生 failover。

上图所示 manager 通过 remote_host1 和 remote_host2 来检查 master 节点是否存活。

只有在 manager 通过 remote_host1 和 remote_host2 检查 master 节点均失败的情况下,才会判定 master 节点不可用。其他情况,一律认为 master 还是活的。

所以可以通过配置多条路由策略的方式,来提高 MHA 对网络问题的容忍能力。

三、测试结果及分析

测试网络丢包、坏包、重传、延迟等场景,只有网络丢包和坏包两种场景测试会满足 MHA 发生切换,因此针对这两种场景进行 MHA 参数对比测试。

在本次测试环境中使用 sysbench 压测工具模拟业务场景,在 Mnanger 节点和 MySQL 端,模拟配置丢包率、坏包率模拟网络通信问题,使得 MHA 因网络故障问题发生切换,以尽量复现生产的故障环境。

说明:在生产环境 MHA 参数配置相同的情况下,经多次测试,在以下场景中,5 分钟之内均会发生 MHA 的切换。因此默认观测时间为 5 分钟。

3.1 坏包场景

仅坏包场景下,达到 70% 才开始切换。

场景ping_interval 参数是否配置 secondary_check_script 参数是否切换(默认观测 5 分钟)
存在业务,且 master 主机发生,模拟坏包70%3否是
存在业务,且 master 主机发生,模拟坏包70%3是否
存在业务,且 master 主机发生,模拟坏包70%4否否
存在业务,且 master 主机发生,模拟坏包70%4是否
存在业务,且 master 主机发生,模拟坏包70%5否否
存在业务,且 master 主机发生,模拟坏包70%5是否
存在业务,且 master 主机发生,模拟坏包70%6否否
存在业务,且 master 主机发生,模拟坏包70%6是否
存在业务,且 master 主机发生,模拟坏包80%3否是
存在业务,且 master 主机发生,模拟坏包80%3是否
存在业务,且 master 主机发生,模拟坏包80%4否是
存在业务,且 master 主机发生,模拟坏包80%4是是
存在业务,且 master 主机发生,模拟坏包80%5否切换失败–manager 挂掉
存在业务,且 master 主机发生,模拟坏包80%5是否
存在业务,且 master 主机发生,模拟坏包80%6否切换失败–manager 挂掉
存在业务,且 master 主机发生,模拟坏包80%6是否
存在业务,且 master 主机发生,模拟坏包80%7否切换失败–manager 挂掉
存在业务,且 master 主机发生,模拟坏包80%7是否
存在业务,且 master 主机发生,模拟坏包90%3是切换失败–manager 挂掉
补充:kill 掉 master 节点3是是

测试说明:在模拟坏包 70% 的情况中,关闭 secondary_check_script 参数,将 ping_interval 调大可影响 MHA 的切换,提高网络容忍性。调高坏包率时与之前相同 ping_interval 值的场景做对比,可见坏包率增加,会促使 MHA 切换。

从实验结果上看,在坏包率相同时,设置 ping_interval 的值不变,开启 secondary_check_script 参数调用相关脚本进行网络路由的多策略检查会增加 MHA 对网络的容忍性,在调高坏包率的情况下,可观测到 manager 节点没有挂掉。

3.2 丢包场景

仅丢包场景下,达到 50% 才开始切换。

场景ping_interval 参数是否配置 secondary_check_script 参数是否切换(默认观测 5 分钟)
存在业务,且master主机发生,模拟丢包50%3否是
存在业务,且master主机发生,模拟丢包50%3是否
存在业务,且master主机发生,模拟丢包50%4否是
存在业务,且master主机发生,模拟丢包50%4是否
存在业务,且master主机发生,模拟丢包50%5否否
存在业务,且master主机发生,模拟丢包50%5是否
存在业务,且master主机发生,模拟丢包50%6否否
存在业务,且master主机发生,模拟丢包50%6是切换失败–manager 挂掉
存在业务,且master主机发生,模拟丢包60%3否是
存在业务,且master主机发生,模拟丢包60%3是否
存在业务,且master主机发生,模拟丢包60%4否是
存在业务,且master主机发生,模拟丢包60%4是否
存在业务,且master主机发生,模拟丢包60%5否切换失败–manager 挂掉
存在业务,且master主机发生,模拟丢包60%5是否
存在业务,且master主机发生,模拟丢包60%6否切换失败–manager 挂掉
存在业务,且master主机发生,模拟丢包60%6是否
存在业务,且master主机发生,模拟丢包60%7否切换失败–manager 挂掉
存在业务,且master主机发生,模拟丢包60%7是否
存在业务,且master主机发生,模拟丢包70%3是切换失败–manager 挂掉
补充:kill 掉 master 节点3是是

测试说明:当前测试结果中,场景为模拟丢包 50%,故障主机为 manager 节点、主节点、从节点。ping_interval 参数值为 3(默认值)时在测试时间内 MHA 发生切换。以上场景中,随着 ping_interval 参数值的调大和配置 secondary_check_script 参数后在测试时间内 MHA 均没有切换。

日志输出情况分析
ping_interval 日志输出信息
10.186.63.40(10.186.63.40:7788) (current master)
+--10.186.63.153(10.186.63.153:7788)
+--10.186.63.52(10.186.63.52:7788)
Thu Jan 28 16:18:17 2021 - [warning] master_ip_failover_script is not defined.
Thu Jan 28 16:18:17 2021 - [warning] shutdown_script is not defined.
Thu Jan 28 16:18:17 2021 - [info] Set master ping interval 3 seconds.
Thu Jan 28 16:18:17 2021 - [warning] secondary_check_script is not defined. It is highly recommended setting it to check master reachability from two or more routes.
Thu Jan 28 16:18:17 2021 - [info] Starting ping health check on 10.186.63.40(10.186.63.40:7788)..
Thu Jan 28 16:18:17 2021 - [info] Ping(SELECT) succeeded, waiting until MySQL doesn't respond..
Thu Jan 28 16:19:32 2021 - [warning] Got timeout on MySQL Ping(SELECT) child process and killed it! at /usr/share/perl5/vendor_perl/MHA/HealthCheck.pm line 431.
Thu Jan 28 16:19:32 2021 - [info] Executing SSH check script: exit 0
Thu Jan 28 16:19:35 2021 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL server on '10.186.63.40' (4))
Thu Jan 28 16:19:35 2021 - [warning] Connection failed 2 time(s)..
Thu Jan 28 16:19:37 2021 - [warning] HealthCheck: Got timeout on checking SSH connection to 10.186.63.40! at /usr/share/perl5/vendor_perl/MHA/HealthCheck.pm line 342.
Thu Jan 28 16:19:38 2021 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL server on '10.186.63.40' (4))
Thu Jan 28 16:19:38 2021 - [warning] Connection failed 3 time(s)..
Thu Jan 28 16:19:41 2021 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL server on '10.186.63.40' (4))
Thu Jan 28 16:19:41 2021 - [warning] Connection failed 4 time(s)..
Thu Jan 28 16:19:41 2021 - [warning] Master is not reachable from health checker!
Thu Jan 28 16:19:41 2021 - [warning] Master 10.186.63.40(10.186.63.40:7788) is not reachable!
Thu Jan 28 16:19:41 2021 - [warning] SSH is NOT reachable.
Thu Jan 28 16:19:41 2021 - [info] Connecting to a master server failed. Reading configuration file /etc/masterha_default.cnf and /data/masterha/app1.cnf again, and trying to connect to all servers to check server status..

说明:在配置参数 ping_interval 后,manager 日志中可观测到每 3 秒进行一次 ping 操作连接 MySQL 的主实例,3 次无法连接后,判定 master 故障,进行 manager 配置文件检测,准备进行切换操作。

secondary_check_script 输出日志信息
10.186.63.40(10.186.63.40:7788) (current master)
+--10.186.63.153(10.186.63.153:7788)
+--10.186.63.52(10.186.63.52:7788)
Mon Jan 25 15:51:36 2021 - [warning] master_ip_failover_script is not defined.
Mon Jan 25 15:51:36 2021 - [warning] shutdown_script is not defined.
Mon Jan 25 15:51:36 2021 - [info] Set master ping interval 3 seconds.
Mon Jan 25 15:51:36 2021 - [info] Set secondary check script: masterha_secondary_check -s 10.186.63.153 -s 10.186.63.52
Mon Jan 25 15:51:36 2021 - [info] Starting ping health check on 10.186.63.40(10.186.63.40:7788)..
Mon Jan 25 15:51:39 2021 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL server on '10.186.63.40' (4))
Mon Jan 25 15:51:39 2021 - [warning] Connection failed 1 time(s)..
Mon Jan 25 15:51:39 2021 - [info] Executing secondary network check script:masterha_secondary_check -s 10.186.63.153 -s 10.186.63.52
--user=root
--master_host=10.186.63.40
--master_ip=10.186.63.40
--master_port=7788
--master_user=mha --master_password=123456 --ping_type=SELECT
Mon Jan 25 15:51:39 2021 - [info] Executing SSH check script: exit 0 Master is reachable from 10.186.63.153!
Mon Jan 25 15:51:41 2021 - [warning] Master is reachable from at least one of other monitoring servers. Failover should not happen.
Mon Jan 25 15:51:44 2021 - [warning] HealthCheck: SSH to 10.186.63.40 is NOT reachable.
Mon Jan 25 15:51:46 2021 - [info] Ping(SELECT) succeeded, waiting until MySQL doesn't respond..
Mon Jan 25 15:51:46 2021 - [warning] Got error on MySQL select ping: 2006 (MySQL server has gone away)
Mon Jan 25 15:51:49 2021 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL server on '10.186.63.40' (4))
Mon Jan 25 15:51:49 2021 - [warning] Connection failed 3 time(s)..
Mon Jan 25 15:51:52 2021 - [info] Ping(SELECT) succeeded, waiting until MySQL doesn't respond..
Mon Jan 25 15:56:12 2021 - [warning] Got timeout on MySQL Ping(SELECT) child process and killed it! at /usr/share/perl5/vendor_perl/MHA/HealthCheck.pm line 431.
Mon Jan 25 15:56:12 2021 - [info] Executing secondary network check script:masterha_secondary_check -s 10.186.63.153 -s 10.186.63.52
--user=root
--master_host=10.186.63.40
--master_ip=10.186.63.40
--master_port=7788
--master_user=mha --master_password=123456 --ping_type=SELECT
...skipping...
Mon Jan 25 15:58:18 2021 - [info] Executing secondary network check script:
masterha_secondary_check -s 10.186.63.153 -s 10.186.63.52
--user=root
--master_host=10.186.63.40
--master_ip=10.186.63.40
--master_port=7788
--master_user=mha --master_password=123456 --ping_type=SELECT
Mon Jan 25 15:58:18 2021 - [info] Executing SSH check script: exit 0
Master is reachable from 10.186.63.153!
Mon Jan 25 15:58:20 2021 - [warning] Master is reachable from at least one of other
monitoring servers. Failover should not happen.
Mon Jan 25 15:58:21 2021 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL server on '10.186.63.40' (4))
Mon Jan 25 15:58:21 2021 - [warning] Connection failed 2 time(s)..
Mon Jan 25 15:58:23 2021 - [warning] HealthCheck: Got timeout on checking SSH connection to 10.186.63.40! at /usr/share/perl5/vendor_perl/MHA/HealthCheck.pm line 342.
Mon Jan 25 15:58:24 2021 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL server on '10.186.63.40' (4))
Mon Jan 25 15:58:24 2021 - [warning] Connection failed 3 time(s)..
Mon Jan 25 15:58:27 2021 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL server on '10.186.63.40' (4))
Mon Jan 25 15:58:27 2021 - [warning] Connection failed 4 time(s)..
Mon Jan 25 15:58:27 2021 - [warning] Secondary network check script returned errors.
Failover should not start so checking server status again. Check network settings for details.
Mon Jan 25 15:58:30 2021 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL server on '10.186.63.40' (4))
Mon Jan 25 15:58:30 2021 - [warning] Connection failed 1 time(s)..
Mon Jan 25 15:58:30 2021 - [info] Executing secondary network check script:masterha_secondary_check -s 10.186.63.153 -s 10.186.63.52
--user=root
--master_host=10.186.63.40
--master_ip=10.186.63.40
--master_port=7788
--master_user=mha --master_password=123456 --ping_type=SELECT
Mon Jan 25 15:58:30 2021 - [info] Executing SSH check script: exit 0
Mon Jan 25 15:58:35 2021 - [warning] HealthCheck: Got timeout on checking SSH connection to 10.186.63.40! at /usr/share/perl5/vendor_perl/MHA/HealthCheck.pm line 342.
Master is reachable from 10.186.63.153!
Mon Jan 25 15:58:37 2021 - [warning] Master is reachable from at least one of other monitoring servers. Failover should not happen.
Mon Jan 25 15:58:41 2021 - [info] Ping(SELECT) succeeded, waiting until MySQL doesn't respond..
Mon Jan 25 15:58:44 2021 - [warning] Got timeout on MySQL Ping(SELECT) child process and killed it! at /usr/share/perl5/vendor_perl/MHA/HealthCheck.pm line 431.
Mon Jan 25 15:58:47 2021 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL server on '10.186.63.40' (4))
Mon Jan 25 15:58:47 2021 - [warning] Connection failed 3 time(s)..
Mon Jan 25 15:58:50 2021 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL server on '10.186.63.40' (4))
Mon Jan 25 15:58:50 2021 - [warning] Connection failed 4 time(s)..
Mon Jan 25 15:58:50 2021 - [warning] Secondary network check script returned errors.
Failover should not start so checking server status again. Check network settings for details.
Mon Jan 25 15:58:53 2021 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL server on '10.186.63.40' (4))
Mon Jan 25 15:58:53 2021 - [warning] Connection failed 1 time(s)..
Mon Jan 25 15:58:53 2021 - [info] Executing SSH check script: exit 0
Mon Jan 25 15:58:53 2021 - [info] Executing secondary network check script:masterha_secondary_check -s 10.186.63.153 -s 10.186.63.52
--user=root
--master_host=10.186.63.40
--master_ip=10.186.63.40
--master_port=7788
--master_user=mha --master_password=123456 --ping_type=SELECT
Mon Jan 25 15:58:56 2021 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL server on '10.186.63.40' (4))
Mon Jan 25 15:58:56 2021 - [warning] Connection failed 2 time(s)..
Mon Jan 25 15:58:58 2021 - [warning] HealthCheck: Got timeout on checking SSH
connection to 10.186.63.40! at /usr/share/perl5/vendor_perl/MHA/HealthCheck.pm line 342.
Mon Jan 25 15:58:59 2021 - [warning] Got error on MySQL connect: 2003 (Can't connect to MySQL server on '10.186.63.40' (4))

说明:在配置参数 secondary_check_script 后的 manager 日志中可观测到 MHA多次进行二次网络连接检测。

测试结论

根据以上单变量实验测试,在坏包丢包的场景中,从 manager 日志中可判断:参数 ping_interval 和 secondary_check_script 在网络情况较差时,可延长 MHA 的判断时间和抑制切换频率。 MHA 集群在网络环境较差时,网络容忍性有所提高。但无法保证 MHA 不发生切换。

  • 当前测试环境与生产存在差异,测试结果也有一定的随机概率,以上测试结果供参考。

  • secondary_check_script 参数可以使 manager 有更多的网络连接策略去判断主从之间的网络连通性,可以在很大程度上提高 MHA 的网络容忍性。

  • ping_interval 参数值提高会增加 MHA 对于故障的判断时间,可根据业务程度的不同,对故障容忍时间的不同进行调整。

    参数弊端:将 ping_interval 的值增大,MHA 对于 MySQL master 节点的检测故障时间将会延长。

下期预告

关于 secondary_check_script 参数的具体说明,以及相关网络故障的模拟测试。

家长必看!用RouterOS轻松屏蔽不良网站,保护孩子上网安全 本文为家长提供了一份详细的RouterOS路由器配置指南,旨在通过技术手段保护儿童上网安全。文章核心介绍了如何利用RouterOS的DNS静态条目功能,轻松实现禁止访问特定不良网站,并结合防火墙时间规则,为孩子构建一个纯净、可控的家庭网络环境,操作简单,无需专业背景。 阅读详情

相关推荐

Ansys Zemax | 公差分析中的补偿器优化:如何提升系统良率?

本文深入探讨了在Ansys Zemax公差分析中如何有效设置与优化补偿器以提升系统良率。文章指出,补偿器是连接理想设计与现实生产的关键,通过模拟实际装配中的调整(如后焦距),能显著改善公差分析的“悲观”预测。详细介绍了补偿器的添加方法、多补偿器策略、评价函数设计以及通过灵敏度分析和蒙特卡洛档案优化补偿效果,旨在帮助光学工程师制定更符合生产实际的公差策略,从而有效提升产品良率。

weixin_28419039的博客 619

mysql 5.5部署mha_Mysql5.5部署MHA

[root@dg55 ~]# tail -f /masterha/app1/manager.logWed Jun 6 14:50:48 2012 - [info]192.168.123.13 (current master)+--192.168.123.14Wed Jun 6 14:50:48 2012 - [warning] master_ip_failover_script is not ...

weixin_39716971的博客 123

【实战指南】RF-DETR目标检测全流程:从数据准备到工业部署

本文详细介绍了RF-DETR目标检测模型的全流程应用,从数据准备、模型训练到工业部署。RF-DETR作为基于Transformer的先进模型,在COCO基准测试中表现优异,推理速度超越YOLOv8,特别适合工业场景。文章还提供了数据标注、COCO格式转换、超参数调优及边缘设备部署的实用技巧,帮助开发者高效实现目标检测任务。

weixin_29081101的博客 420

mysql 5.5.57-log_mysql MHA报错 Can't exec "mysqlbinlog": No such file or directory at /usr/local/shar...

如果发现如下错误:Can‘t exec "mysqlbinlog": No such file or directory at /usr/local/share/perl5/MHA/BinlogManager.pm line 99.mysqlbinlog version not found!Testing mysql connection and privileges..sh: mysql: co...

weixin_33870147的博客 428

【数据挖掘】心跳信号分类预测 之 特征工程 —— 学习笔记(三)

三、特征工程 3.1 看书 常言道,“巧妇难为无米之炊”。在 ML 中,数据和特征将作“米”,模型和算法则为“妇”。若无数量充足的数据、良好表示的特征,再强大的模型也难以得到满意的结果 (garbage in,garbage out)。对于 ML 问题,数据和特征往往决定了结果的上限,而模型、算法的选择及优化则是在逐步接近该上限。 特征工程,顾名思义,是对原始数据进行一系列工程处理,将其提炼为特征,作为输入供算法和模型使用。在本质上,特征工程是一个表示和展现数据的过程。在实际中,特征工程旨在去除...

闻韶 3358

大模型量化方法总结

本文主要对大模型量化方法进行了总结,希望对学习大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 模型精度 3. 量化方法 3.1 方法一 3.2 方法二 3.3 方法三

herosunly的博客 1万+

mysql replication health is not ok_mha0.56版本安装使用排错

1.master_check_ssh --conf=/etc/app1.conf这个检查就报错的我觉得百分之九十都是ssh之间连接问题。务必要保证各节点之间都可以免秘钥访问!2.master_check_repl --conf=/etc/app1.conf(1)报错代码:类似就是说什么copyuser复制用户在节点没有权限的代码,解决方法是每个节点创建这个用户即可。要是主从复制已经开启,记得节点先...

weixin_35798040的博客 1050

云端全自动AI漫剧生成工作流:从模型选型到完整实现

本文提出了一套云端全自动AI漫剧生成工作流解决方案,旨在解决传统漫剧制作效率低下的问题。该系统采用"编排引擎+模型矩阵"架构,通过集成大语言模型、图像生成、视频合成等技术,实现从剧本输入到成片输出的全流程自动化。 核心内容包括: 模型选型方案:剧本解析采用DeepSeek-V3/GPT-4o,图像生成使用DALL-E 3,视频合成选用Stable Video Diffusion,语音合成采用MiniMax TTS 系统架构设计:基于Celery分布式任务队列的编排层,分解任务至各功能模块

huanghm88的专栏 640

MySQL-MHA 安装配置及遇到的问题

Mysql-MHA 安装过程中遇到的问题 1.运行masterha_check_repl --conf=/etc/masterha/app1.cnf Can't exec "mysqlbinlog": No such file or directory at /usr/local/perl5/MHA/BinlogManager.pm line 99. 在node...

weixin_34376986的博客 494

北斗导航 | ILS(仪表着陆系统)、MLS(微波着陆系统)和GBAS(地基增强系统)的性能对比

最 早 的 GBAS 系 统 是 **局 域 增 强 系 统(LAAS)**,它是 1990 年由美国 Honeywell 公司 和 NASA 共 同 完 成 的 差 分 GPS(DGPS)演 变 而 来 的。1998 年,LAAS 被 ICAO 采 纳为 GBAS。2009 年 9 月 3 日 Honeywell 公 司 的GBAS 系统通过了 **CAT-I 精密进近着陆系统**的设计认证 ,而 **CAT-II 和 CAT-III 系统的研发和验证工作也正在有序的进行中**

尘世冰封的专栏 3983

【推荐100个unity插件之24】实现2d交互式草树叶和随风飘动的效果——pixelgraphics插件

【推荐100个unity插件之23】实现2d交互式草树叶和随风飘动的效果——pixelgraphics插件

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1682

Mysql MHA搭建以及故障切换测试

测试环境信息: OS:Centos6.8 192.168.180.55  manager 192.168.180.56  master 192.168.180.57  slave1 192.168.180.58  slave2 1.架构 从架构上来说,MHA分为如下两大部分: (1) Node 我们知道,MHA是基于MySQL Replication环境的,在该环境中,不管是

雨花石 3541

25、格式化字符串攻击全解析

本文深入解析了格式化字符串攻击的原理与利用方式,涵盖缓冲区溢出与格式化字符串漏洞的区别,详细介绍了printf函数的工作机制、常见格式化说明符及其安全隐患。文章分析了三类典型编程错误导致的漏洞,并展示了如何通过恶意格式化字符串实现拒绝服务、内存读取和写入攻击。同时,提供了有效的防御措施,包括输入验证、使用安全函数、避免直接使用用户输入作为格式化字符串以及启用编译器安全选项,帮助开发者防范此类高危漏洞。

beer8的博客 83

故障分析 | 如何提高 MHA 的网络容忍能力?(下)

作者:刘开洋 爱可生交付服务部团队北京 DBA,主要负责处理 MySQL 的 troubleshooting 和我司自研数据库自动化管理平台 DMP 的日常运维问题,对数据库及周边技术有浓厚的学习兴趣,喜欢看书,追求技术。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 说明 本节主要介绍对 secondary_check_script 调用 masterha_secondary_check 脚本的说明。 [root@yang-03 ~]# cat /.

ActionTech的博客 328

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

自学网络安全方向要如何开始?

运维工程师需具备的技能:熟练掌握主机、网络及操作系统基本知识,在出现问题时可以及时解决问题。懂开发能实现自动化运维,将重复性的简单工作交给脚本程序处理提升工作效率。

技术专家 1124

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

非常值得一看,最低月薪上万的运维安全工程师学习路线

在运维工作中,经常被贴上这样的标签:背锅侠?电脑修理工?救火队员?35岁被退休?996/007等等,安全运维工程师真的这么不堪吗?网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

2401_84618514的博客 1311

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

非常值得一看,最低月薪上万的运维安全工程师学习路线_运维学习路线

在运维工作中,经常被贴上这样的标签:背锅侠?电脑修理工?救火队员?35岁被退休?996/007等等,安全运维工程师真的这么不堪吗?

2401_84215240的博客 1131

一名合格的运维工程师都要掌握什么

想成为合格运维工程师,需要掌握不少技能,Linux运维工程师讲究的是广度,下面这些技能推荐你们学习: Linux 系统基础⼊门-Linux的基础知识内容,命令使用,以及用户和权限等核⼼知识点 Linux 系统管理和进阶-Linux从进程、资源、任务、⽂件、软件包、磁盘等管理⽅法 Linux 企业常用服务-企业级常用服务如DNS、FTP、Http、mail Linux 企业级安全原理和防范技巧以及网络和安全-Linux安全架构、安全威胁模型、以及加密、解密等原理,常见攻击和防范⼿段 Shell 编程⼊门及进

alenzzzhang 1946

值得一看!年薪50万运维安全工程师学习路线。零基础入门到精通,看这篇就够了!赶紧收藏!

网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

2402_84205067的博客 899

值得一看!年薪50万运维安全工程师学习路线

前言在运维工作中,经常被贴上这样的标签:背锅侠?电脑修理工?救火队员?35岁被退休?996/007等等,安全运维工程师真的这么不堪吗?一、运维安全是什么?首先我们从运维工程师的工作职能入手,岗位工作内容:1、平台架构组建运维工程师的基本工作之一,主要负责参与并审核架构设计的合理性和可运维性,以确保系统上线后,安全、高效、稳定运行。保障并不断提升服务的可用性和数据安全性,提升用户体验。2、日常运营保障。

ZL_1618的博客 1413

非常值得一看,最低月薪上万的运维安全工程师学习路线_运维学习路线_运维开发学习路线

本文探讨了安全运维工程师的职业现状与发展路径。针对外界对运维人员"背锅侠""电脑修理工"等刻板印象,文章指出安全运维的重要性和前景。内容包含:运维安全定义、必备技能、职业前景分析;零基础学习路线与配套视频资源;网络安全文档书籍、黑客技术资料;工具包源码合集及面试题库等学习资源。文章旨在为想进入网络安全领域的新人提供系统学习路径,帮助打破对运维工程师的偏见认知,获取专业成长所需的各类资料。

kjuhfkicf154的博客 434
上一篇: 技术分享 | 一次数据库迁移
下一篇: 技术分享 | MySQL 主从复制中创建复制用户的时机探讨
爱可生开源社区
博客等级 码龄8年 1936粉丝 1004原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值