• 1. 综合架构基本概述


    1.架构基础知识概述

    1.什么是项目, 类似于手机的app,每一个app都可以算做一个项目。
    ​ 2.什么是架构, 维护一个项目使用的一套服务器。(一套服务器可能会有很多角色。)
    ​ 3.什么是集群, 为解决某个特定问题将多台计算机组合起来形成的单个系统。
    ​ 4.什么是高可用, 当一台服务器不可用,另一台服务器自动接管,保证业务不down机
    ​ 5.什么是分布式, https://www.xuliangwei.com/bgx/1360.html

    2.已知架构图 (香格里拉 餐饮业务线 娱乐业务线 客房业务线 )

    客户
    开车0000
    保安
    迎宾
    服务员  (满足顾客一切需求)   (服务员集群)
    厨师
    吧台	(烟酒)
    备菜	(提前准备)
    经理    (不干活--->巡检 ---> 所有人员工作状态)
    监控	(事后追溯)   
    仓库    (存放一些贵重物品   ---衣服  手机)
    

    3.架构访问流程->用户视角

    1.用户通过浏览器输入oldboyedu.com->回车
    2.浏览器会发生一次跳转,分析URL->然后进行DNS解析->获取真实的公网IP地址
    3.用户通过tcp的三次握手发起连接->真实的公网IP
    4.连接会通过公网->路由器->交换机->抵达前端的硬件防火墙
    5.防火墙根据自身访问规则,进行匹配->如果恶意的连接则拒绝->如果是正常的连接则放行
    6.防火墙会将连接转发给负载均衡器->查看用户请求的内容->根据内容进行任务下发->下发给web服务器
    7.web服务接收请求后会根据请求进行判断
    如果是请求图片或者附件->查找存储服务器存储的静态资源
    如果请求的网站上的内容->缓存服务器->如果缓存服务器没有->数据库
    数据库查询完数据之后会返回数据给web服务器->同时也会返回一份给缓存服务器
    8.数据库返回内容->web服务器->负载均衡->用户


    4.架构访问流程->运维视角

    1.用户通过公网连接(隧道)VPN服务器,这样方便管理内部主机,
    2.自动化配置管理ANsible,节省人力成本,便于后期维护。(统一环境,标准化)
    3.自动化监控服务Zabbix,监控系统的运行状态,事前预警,事后追溯。
    4.elk日志收集,分析xxxxx
    5.代码上线, 自动化上线工具 jenkins

    总结:

    一个项目涵盖了一套架构,一套架构又涵盖了不同的角色
    (高可用、负载均衡、web集群、缓存、数据库、存储 备份 监控 管理)
    五层架构模型--> 负载均衡 web服务 存储服务 缓存服务 数据库服务(通过tcp连接)

    5.架构如何演变->服务器架构扩展

    横向扩展,用更多的节点支撑更大量的请求。 如成千上万的蚂蚁完成一项搬运工作
    纵向扩展,扩展一个点的能力支撑更大的请求。如蜘蛛侠逼停火车

    6.综合架构准备工作:

    1.配置yum仓库

    rm -rf /etc/yum.repos.d/*
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    

    2.安装基础软件包

    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
    --------------------------------------------------------------------------------
    yum install net-tools vim tree htop iftop  lsof tcpdump nethogs
    iotop lrzsz sl wget unzip telnet nmap nc psmisc 
    dos2unix bash-completion bash-completion-extra sysstat 
    rsync nfs-utils httpd-tools  net-tools  bash-completion  vim-enhanced -y
    

    3.关闭防火墙firewalld、selinux

     systemctl disable firewalld
     systemctl stop firewalld
    

    4.关闭selinux

    sed -i '/^SELINUX=/c SELINUX=disable' /etc/selinux/config
    

    5.调整单个进程最大能打开文件的数量

    echo '* - nofile 65535' >> /etc/security/limits.conf
    

    6.修改hosts解析

    10.0.0.5    lb01
    10.0.0.6    lb02
    10.0.0.7    web01
    10.0.0.8    web02
    10.0.0.9    web03
    10.0.0.31   nfs
    10.0.0.41   backup
    10.0.0.51   db01
    10.0.0.61   manager
    10.0.0.71   zabbix
    

    7.基于优化后的模板机进行了快照

    8.克隆一台新的虚拟机,然后修改IP地址,并修改主机名称

    sed -i 's#200#41#g' /etc/sysconfig/network-scripts/ifcfg-eth[01]
    systemctl restart network
    
    修改主机名称
    hostnamectl set-hostname backup
    bash  立即生效
    

    9.架构图

    综合架构图

  • 相关阅读:
    Windows安全事件日志中的事件编号与描述
    Apache启动失败,请检查相关配置。MySQL5.1已启动成功
    scrapy
    python 与mongodb 交互
    mongo 的导入和导出
    MongoDB
    json字符串和字典的区别补充
    第七章:错误处理
    第六章:个人主页和头像
    第五章:用户登录
  • 原文地址:https://www.cnblogs.com/yinwu/p/11462126.html
Copyright © 2020-2023  润新知