文章目录
- 期中架构
期中架构
名词介绍
1.项目:针对游戏公司,每一个游戏就是一个项目
2.架构:维护一个项目的所有组件组成的一个整体
3.集群:多台服务器组成的一个集合,实现同样的工作,当一台服务器出现问题,其他服务器可以正常提供服务
4.负载均衡:将前端的用户请求,平均的分配到后端服务器
5.高可用:当一台服务器不可用时,另一台服务器自动接管工作,保证业务的可用性
lnmp:linux nginx mysql php
lamp:linux Apache MySQL php
lnmt:linux nginx MySQL Tomcat
lamt:linux Apache MySQL Tomcat

架构中的服务


架构访问流程
1.用户访问流程
1.用户在浏览器输入域名
2.浏览器拿着域名取DNS解析
3.DNS服务器将解析后的IP返回给浏览器
4.浏览器根据IP去访问真实服务器
5.访问真实服务器的防火墙
6.防火墙将请求通过内网交换机传给负载均衡
7.负载均衡将请求平均的分配给后端的web服务器
8.web服务器去判断是静态还是动态请求
9.如果是静态请求,web服务器会去文件服务器获取数据
10.如果是动态请求,web服务器会通过程序去数据库或者缓存获取数据
11.数据从数据库或者NFS服务器返回给web服务器,web服务器将数据返回给负载均衡,负载均衡通过防火墙将数据传给浏览器
2.运维访问流程
1.管理人员连接跳板机或者VPN
2.通过跳板机或者vIN连接内网服务器
3.通过zabbix监控查看服务器状态
4.如果有问题则连接相应的机器解决问题
5.日常巡检,查看服务器配置
6.管理备份和备份数据
7.日志收集和整理展示
系统优化准备机器
[root@localhost ~]# cat >> /etc/hosts <<EOF
192.168.15.5 172.16.1.5 lb01
192.168.15.6 172.16.1.6 lb02
192.168.15.7 172.16.1.7 web01
192.168.15.8 172.16.1.8 web02
192.168.15.9 172.16.1.9 web03
192.168.15.31 172.16.1.31 nfs
192.168.15.41 172.16.1.41 backup
192.168.15.51 172.16.1.51 db01
192.168.15.61 172.16.1.61 m01
192.168.15.71 172.16.1.71 zabbix prometheus
EOF
[root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1775 0 1775 0 0 5637 0 --:--:-- --:--:-- --:--:-- 5652
[root@localhost yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base extras updates
[root@localhost yum.repos.d]# yum makecache
# 创建自动化修改IP、主机名脚本
[root@template opt]# cat changeIp
#!/bin/bash
sed -i "s#.100#.$1#g" /etc/sysconfig/network-scripts/ifcfg-eth[01]
hostnamectl set-hostname $2
systemctl restart network
----------------------------------------------------------------------------------
#!/bin/bash
sed -i "s/\.123/\.$1/g" /etc/sysconfig/network-scripts/ifcfg-eth[01]
hostnamectl set-hostname $2
systemctl restart network
执行脚本
cd /opt
./changeIp 100 template
# 安装基础软件包
[root@template opt]# yum install net-tools vim tree htop iftop \
iotop lrzsz sl wget unzip telnet nmap nc psmisc \
dos2unix bash-completion bash-completion-extra sysstat \
rsync nfs-utils httpd-tools -y
# 3.关闭防⽕墙firewalld
[root@template opt]# systemctl disable --now firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
# 关闭Selinux
[root@template opt]# sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
# 5.调整单个进程最⼤能打开⽂件的数量
[root@template opt]# echo '* - nofile 65535' >> /etc/security/limits.conf
备份
#运维人员的三大职责
1、7*24*7不间断服务
2、数据的安全,主要是备份
3、提升用户体验,即系统优化
#什么是备份?
备份就是把重要的数据或文件再次复制一份保存起来(给源文件增加一个副本)
#为什么要备份?
数据很重要!!!
出现故障之后,需要恢复数据(软件服务出现问题几率很小,80%都是人为故障)
备份思想:全量 差异 增量
全量
备份数据:
每次都把原数据完整copy一份
恢复数据:
只需要找到对应时间点的那一份备份数据覆盖回来就即可
差异
备份数据:
每次备份都是用当前数据跟第一次全量备份比较,找出差异,然后备份
恢复数据:
第一次的全量备份+对应时间节点的那一个差异备份即可
增量
备份数据:
每次备份都是用当前数据跟上一次的数据进行比较,找出差异,然后备份
恢复数据:
全量备份+增量1+增量2+增量3..
备份位置
本地备份
异地备份:备份应该备份在异地 当本地机器蹦了,异地拿来恢复
三种备份的对比
备份数据的过程,从占用资源的角度对比 : 全量备份占用的资源 > 差异备份占用的资源 > 增量备份占用的资源
恢复数据的过程,从恢复效率的角度对比 : 全量备份恢复数据的效率 > 差异备份恢复数据的效率 > 增量备份恢复是数据的效率
scp
基于ssh验证
scp -r 源路径 目标路径
上传/推
scp -r /aaa/* root@192.168.15.41:/bbb
下载/拉
scp -r root@192.168.15.41:/bbb/* /aaa
传输模式
推:
客户端将需要的数据上传到服务端
拉:
客户端讲需要的数据下载下来
1、本地方式(类似于cp,不支持推送和拉取,只是单纯的复制)
2、远程方式(类似于scp,又不同于scp)
3、守护进程方式(客户端和服务端)
本地方式
#语法
rsync [参数] 源文件(可多个) 目标地址 本地路径
#类似于cp,但是cp是全量复制并且会修改文件属性,rsync是增量复制,会保证文件属性不变
远程方式
#拉取
rsync [参数] 源文件(可多个) 目标地址 本地路径
#实例
[root@web1 ~]# rsync -avz root@192.168.15.100:/tmp/ ./
#推送
rsync [参数] 要推送的文件 远程主机路径
#实例
rsync -avz ./back/ root@192.168.15.102:/root/
Rsync远程同步
rsync简称远程同步,可以实现不同主机之间的同步(本地和远程). 同时支持增量和全量的备份.
不同主机: windows --> linux linux --> linux mac --> linux mac --> windows
rsync监听的端口:873
rsync运行模式:C/S模式 client/server
Rsync 既能本地拷贝也能远程传输
rsync -av 源路径 目标路径
mkdir /src
mkdir /dst
echo 111 > /src/1.txt
echo 222 > /src/2.txt
# rsync -a /src /dst # 代表把源文件夹拷贝到/dst下
rsync -a /src/ /dst # 代表把源文件夹下的子文件全拷贝过去/dst
stat /dst/*
rsync -a /src/ /dst
stat /dst/* # 时间不变
echo 666 >> /src/1.txt
rsync -a /src/ /dst
stat /dst/*
选项
rsync命令有上百个选项,主要分为两大类 :
一类是检测 增加数据校验的可靠性
一类是传输 算法计算拼接出新的完整数据,覆盖到原文件
-a #归档模式传输 表示以递归方式传输文件,并保持所有文件属性
-z #传输时进行压缩以提高效率
-v #详细模式输出
-n #执行一个没有实际更改的试运行,只会显示文件会被如何操作
-c #让自动跳过基于校验和而非默认的修改时间以及文件大小</

本文探讨了游戏公司的架构构成,包括服务架构、用户访问与运维流程,并深入讲解了备份策略(全量、差异、增量)、选择scp、rsync等工具进行数据传输的方法,以及系统优化的准备工作。

671

被折叠的 条评论
为什么被折叠?



