编辑
2024-03-15
运维工具
00

Ansible是什么

Ansible是自动化运维工具,由Python编写的开源工具,基于ssh协议连接被管理服务器,从而实现批量管理。并且它是基于模块工作的,本身没有批量部署的能力,真正批量部署的是ansible所运行的模块,而ansible只是提供一种框架

工作原理

Ansible由节点和控制机器组成。 控制机器是安装Ansible的地方,节点由这些机器通过SSH管理。 借助SSH协议,控制机器可以部署临时存储在远程节点上的模块。

控制机器使用ansible或者ansible-playbooks在服务器终端输入的Ansible命令集或者playbook后,Ansible会遵循预先编排的规则将playbook逐条拆解为Play,再将Play组织成Ansible可以识别的任务tasks,随后调用任务涉及到的所有MODULES及PLUGINS,根据主机清单INVENTORY中定义的主机列表通过SSH协议将任务集以临时文件或者命令的形式传输到远程节点并返回结果,如果是临时文件则执行完毕后自动删除。

编辑
2024-03-15
面经
00

该文章已加密,点击 阅读全文 并输入密码后方可查看。

编辑
2024-03-15
web
00

底层原理

相关信息

nginx通过生成一个master进程和多个worker进程,master进程主要负责收集、分发请求。worker采用争抢式机制,即当客户端请求时,空闲的worker会去争抢请求,当其中一个worker抢到请求时,会去根据需求处理,其他worker也会进入待命模式等待请求。


性能为什么高

他的事件处理机制是异步非阻塞事件处理

编辑
2024-03-15
数据库
00

原理

  1. 主库的更新事件(update、insert、delete)会按照顺序写入binlog日志中,当从库连接到主库时,主库会为从库开启binlog dump线程,该线程会去读取binlog日志

  1. 从库会生成两个线程:I/O线程和SQL线程。I/O线程通过请求binlog dump读取binlog日志,然后写入relay log中继日志中。

  1. SQL线程会实时监控 relay-log中继日志内容是否有更新,当中继日志有更新时,解析文件中的SQL语句,在从数据库中执行,从而实现主从复制

image.png

编辑
2024-03-15
八股文
00

TCP/IP的三次握手和四次挥手

三次握手

  1. 第一步:客户端发送SYN请求
    • 客户端向服务器发送一个带有 SYN 标志的数据包,请求建立连接。

  1. 第二步:服务器响应SYN+ACK
    • 服务器接收到客户端的 SYN 请求后,会回复一个带有 SYN 和 ACK 标志的数据包,表示同意建立连接。

  1. 第三步:客户端发送ACK确认
    • 客户端接收到服务器的 SYN+ACK 响应后,会再次向服务器发送一个带有 ACK 标志的数据包,表示连接已建立。

通过三次握手,客户端和服务器就建立了可靠的连接,可以开始进行数据传输。