博客
关于我
期中架构介绍 scp Rsync远程同步 本地方式 远程方式 守护进程方式
阅读量:361 次
发布时间:2019-03-04

本文共 1737 字,大约阅读时间需要 5 分钟。

项目架构与运维实践指南

项目架构概述

在游戏公司的开发环境中,项目架构是维护所有组件的整体框架。以下是常见的术语解释:

  • 项目:每个游戏都可以视为一个独立的项目。
  • 架构:包含项目所有组件的整体框架。
  • 集群:由多台服务器组成的集合,实现高可用性和负载均衡。
  • 负载均衡:将用户请求分配到后端服务器,确保服务稳定性。
  • 高可用:在服务器故障时,自动切换到备用服务器。
  • 常见的开源架构包括:

    • LAMP:Linux + Apache + MySQL + PHP
    • LNMP:Linux + Nginx + MySQL + PHP
    • LNMT:Linux + Nginx + Tomcat

    架构中的服务组成

  • Web服务器:处理用户请求,静态资源从文件服务器获取,动态请求从数据库或缓存获取。
  • 数据库:存储应用数据,支持高并发访问。
  • 文件服务器:存储静态资源,缓存管理。
  • 负载均衡:分配用户请求,提高服务器性能。
  • 防火墙:保护服务器免受攻击,管理网络流量。

  • 访问流程说明

    用户访问流程

  • 用户输入域名,浏览器解析DNS,获取服务器IP。
  • 浏览器直接访问真实服务器(负载均衡)。
  • 防火墙检查请求,通过交换机传递给负载均衡。
  • 负载均衡将请求分配到后端服务器。
  • 根据请求类型(静态/动态),Web服务器返回数据。
  • 运维访问流程

  • 运维人员通过跳板机或VPN进入内网。
  • 使用Zabbix监控服务器状态。
  • 如发现问题,连接相应服务器进行处理。
  • 定期巡检,管理配置和备份。

  • 系统优化准备

    主机配置优化

  • 防火墙关闭:使用systemctl disable --now firewalld
  • 关闭SELinux:运行setenforce 0
  • 调整进程资源限制:编辑/etc/security/limits.conf,设置ulimit -n 65535
  • 网络优化

  • hosts文件配置
  • 172.168.15.5 lb01172.168.15.6 lb02...
    1. 自动化脚本
    2. #!/bin/bashsed -i "s/100.100.100.100/$1/" /etc/hostssed -i "s/200.200.200.200/$2/" /etc/hostnamesystemctl restart network

      数据备份策略

      备份目标

    3. 数据安全:防止数据丢失。
    4. 系统稳定性:减少故障影响。
    5. 用户体验提升:快速恢复服务。
    6. 备份类型对比

    7. 全量备份

      • 每次备份完整数据。
      • 恢复时只需选择对应时间点的备份。
    8. 差异备份

      • 每次备份与上次对比,记录新变动。
      • 恢复时结合全量和差异备份。
    9. 增量备份

      • 每次备份与上次对比,记录新变动。
      • 恢复时需全量+所有增量备份。
    10. 备份位置

    11. 本地备份:确保数据不丢失。
    12. 异地备份:防止本地故障影响恢复。

    13. rsync远程同步使用

      基本语法

    14. 本地同步:
    15. rsync -av /源路径 /目标路径
      1. 远程同步:
      2. rsync -avz /本地路径 远程用户@IP::模块名

        远程传输模式

      3. 推送
      4. rsync -avz /本地路径 远程用户@IP::模块名
        1. 拉取
        2. rsync -avz 远程用户@IP::模块名 /本地路径

          rsync选项解析

          • -a:归档模式,保留文件属性。
          • -v:详细输出日志。
          • -z:压缩传输数据。
          • --delete:删除目标多余文件。
          • --link-dest:创建硬链接或软链接。

          rsync常见问题解决

          常见错误处理

        3. 模块名错误
        4. rsync -avz rsync_backup@IP::错误模块名
          1. 权限问题
          2. chmod 600 /etc/rsync.passwd
            1. 防火墙阻止
            2. systemctl stop firewalld
              1. 服务未启动
              2. systemctl start rsyncd
                1. 目录不存在
                2. mkdir -p /backupchown -R rsync:rsync /backup

                  rsync最佳实践

                3. 定期备份:避免数据丢失。
                4. 压缩传输:提高传输效率。
                5. 使用增量备份:节省存储空间。
                6. 硬链接:减少磁盘占用。

                7. 总结

                  通过合理的架构设计和优化,确保服务器高效稳定运行。通过rsync实现高效数据同步,保障数据安全。运维团队需定期巡检,及时解决问题,确保服务连续性。

    转载地址:http://bpse.baihongyu.com/

    你可能感兴趣的文章
    Mysql 分页语句 Limit原理
    查看>>
    MySql 创建函数 Error Code : 1418
    查看>>
    MySQL 创建新用户及授予权限的完整流程
    查看>>
    mysql 创建表,不能包含关键字values 以及 表id自增问题
    查看>>
    mysql 删除日志文件详解
    查看>>
    mysql 判断表字段是否存在,然后修改
    查看>>
    MySQL 到底能不能放到 Docker 里跑?
    查看>>
    mysql 前缀索引 命令_11 | Mysql怎么给字符串字段加索引?
    查看>>
    mysql 协议的退出命令包及解析
    查看>>
    mysql 参数 innodb_flush_log_at_trx_commit
    查看>>
    mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
    查看>>
    MySQL 命令和内置函数
    查看>>
    mysql 四种存储引擎
    查看>>
    MySQL 在并发场景下的问题及解决思路
    查看>>
    MySQL 基础模块的面试题总结
    查看>>
    MySQL 备份 Xtrabackup
    查看>>
    mysql 多个表关联查询查询时间长的问题
    查看>>
    mySQL 多个表求多个count
    查看>>
    mysql 多字段删除重复数据,保留最小id数据
    查看>>
    MySQL 多表联合查询:UNION 和 JOIN 分析
    查看>>