项目背景 : 企业的网站比较简陋, 一直致力APP的应用, 随着业务规模的扩大. 对于公司
的形象机网站的访问急速增长, 需要公司的网站架构更加丰富多彩和稳定
项目职责 : Nginx 环境的部署和维护
项目内容 :
1 . Web 服务使用 Nginx , 其特点主要稳定, 安装,配置简单 低系统资源 , 优化其用户
体验及安全性
2. Nginx 反向代理使用两台服务器. 两台服务器使用 keepalived 高可用
3. PHP 需要做到缓存加速 , 并优化 PHP 访问数据库加速功能和图像处理能力
4. MySQl 数据库 需要做到主从复制 高可用以及读写分离并且优化其索引和执行计划
项目背景 : 数据库单点问题
项目职责 : MHA 架构的部署维护
项目内容 :
1. 至少三个节点,一主两从由 Manage 和 node 组成
2. 配制成 GTID 结构,达到数据补偿的功能
3. 监控 : MHA 该服务需要实现监控功能 , 能随时监控各个节点
4 . 选主 : 尽量选择一个和主库一致 的从库作为新主. 当主库宕机时 , 需要能从 较新
的从库选出新主 , 并判断新主库能 否连接 . Manager 退出(将配置文件故障节点
剔除)
1) 能 ssh 连接上 , 从节点立即保存主库 binlog 缺失部分 , 恢复本 节点 , 构建新
的主从关系
2) 不能连接上 , 从节点比较 relay-log gtid , 将 缺失的部分事件补偿到后一个节
点上 , 构建新的主从 三台 mysql 独立节点 实例,开启 1 主 2 从 GTID 复制结
构 关闭各节点 relay-log 自动删除功能 各 节点 ssh 秘钥互信配置
5 . 自动调用预设 VIP 切换脚本 , 将 VIP 切换到新主上 , 继续提供服务
6 . binlog 实时的备份到远程节点(binlog server)
MySQL 维护与数据备份
项目介绍:改善 MySQL 备份测略 ,分析 MySQL 慢查询等日志,维护 MySQL MHA 集群稳定 。
对于 MySQL 备份恢复而言,逻辑备份策略恢复速度落后于 XtraBackup 物理备份策略,将 MySQL 逻辑备份策略变更为 XtraBackup 物理备份策略,对慢查询日志中的部分 SQL 语句分析,对于部分 SQL 语句作出优化,测试环境中完成对于 MySQL MHA + Atlas 故障自动迁移脚本的编写 。
Redis Cluster 搭 建
项目介绍: 搭建 Redis Cluster 集群,减少 MySQL 服务器压力 。
为减少查询请求到达 MySQL 存储层,在应用服务器集群与数据库集群中间部署 Redis 缓存服务器集群,由多实例Redis Sentinel 扩展为 Redis Cluster 集群,通过分区分担一定的压力,同时具备了 Redis Sentinel 故障自动转移的功能,一定程度上防止了缓存雪崩等问题的出现 。
CICD系统设计
项目描述:
增加研发的部署效率,实现CICD的自动化
项目实施:
1、部署Jenkins服务器,实现java, Vue代码的拉取,构建和打包。
2、编写shell脚本,实现将jar包推送到对应服务器并实现服务的启动和停止。
3、实现将前端代码推送到Nginx服务器。
4、编写批量执行Jenkins部署脚本提高自动化部署效率
ELK 日志收集系统部署
项目描述:
公司业务日志不断增大,需要对日志进行比较系统地管理。按照公司的需求需要搭建 ELK 日志分析的 平台,实现日志的抓取、过滤、分析和展示。通过 Logstash 将抓取到的数据发给 ElasticSearch 集群,然后进行 后续的数据分析活动,最后用 Kibana 展示结果。方便观察获取想要的服务的日志信息。
项目实施:
1. 部署 Logstash,配置 input、filter、output 插件,用于日志的搜集、分析以及过滤
2. 部署 Elasticsearch 集群,存储数据,分析日志
3. 部署 Kibana,用于展示各种日志信息
4. 配置环境,测试服务可用性
zabbix 监控系统部署
项目描述:
由于服务器出现问题需要快速定位并且解决问题,为了更好的掌握了服务器的运行状态,利用Zabbix作为监控 工具对所有节点 进行监控,并进行日志处理,这样便于故障的及时发现和处理
实施过程:
1. 先对Zabbix服务端进行配置。
2. 再使用脚本部署各个agent端并设置为主动模式配置
3. 编写脚本对对应的一些指标进行监控。
4. 最后在Zabbix Web界面添加主机,添加模板进行监控。