一、架构的基本术语

  • 项目:类似于咱们的手机app,每一个app都算是一个项目。如:QQ、微信、抖音
  • 架构:维护一个app项目使用的一套服务器。(一套服务器可能会有很多的角色)
  • 集群:为了解决某个特定问题。 将多台计算机自核起来形成的单个系统。
  • 高可用:当一台服务器不可用了,另外一台服务器自动接管,保证业务不down机。(还可以用三台机器组成,通过选举的模式)

二、架构模型分析

酒店架构模型
  • 在我们了解网络架构模型前,可以先从已知的架构模型入手
    学习Linux运维的个人笔记:网站架构模型(三十二)
    客人——>经过公路到达目的地酒店
    保安——>验证身份
    迎宾——>负责接待工作,告诉服务员任务
    备菜——>加速上菜,同时避免大量客人导致后厨供应不足。
    后厨——>提供具体热菜
    吧台——>存放烟酒
    经理——>管理一堆人
    摄像头——>监控所有人员状态(追溯事件,产生原因)
    仓库——>存放杂物,服务员服装等重要物品
网站架构模型
  • 我们在看网站架构模型
  • 首先是人员组织架构,是由不同角色的人员来维护公司的业务
    产品——>设计——>开发——>测试——>运维
    学习Linux运维的个人笔记:网站架构模型(三十二)
    用户视角:
  • 用户——>通过各种网络设备到达前端
  • 防火墙(保安)——>将用户名和密码上传到服务器,服务器将你的用户名和密码进行比对
    注册的时:
    1.填写信息,账户 密码 等等 (存储到 数据库中(一条记录) )
    登录时:
    1.填写你的用户名和密码
    2.web服务器接收你的用户请求
    3.web通过你填写的用户名和密码。去查询对应的数据库记录,
    4.如果查询存在该用户记录,则提示登录成功,否则提示(该用户或密码错误)
  • 负载均衡——>下达指令到web服务器上
    负载均衡属于高可用
  • web服务器——>提供网站访问的服务器
    多台web服务器组织在一起,我们叫 web集群
  • 内存缓存——>加速访问,同时避免大量用户请求,造成数据库瘫痪(没有缓存再查数据库)
  • MySQL数据库——>存放帖子/新闻/博客
  • NFS存储——>图片/附件
    优点:1.解决web服务器空间不足的问题。2.保证web服务器的图片完全一致。3.能够快速迭代web服务器的代码。
    缺点:传输速度慢(后期会使用cdn加速)
    运维视角:
  • 跳板机——>管理内部服务器
    一般用SSH或v*n
  • 自动化配置——>配置统一管理
    用Ansible
  • 监控——>事前预警,事后追溯
    用Zabbix
  • 仓库——>备份
    用Rsync
    开发视角:
  • gitlab——>代码托管平台
  • Jenkins——>调度平台(抓去giltab代码)
  • SonarQube——>代码检测
    采集日志:
    用户访问服务器(会产生一条记录)
    采集到专门的存储上面(存储)
    获取数据并分析,然后展示(Kibana)
    架构的运行环境:
  • Vmware
  • Openstack
  • Docker
  • 阿里云

总结

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

相关文章:

  • 2021-12-31
  • 2021-04-23
  • 2021-08-04
  • 2022-12-23
  • 2021-07-31
  • 2021-06-17
  • 2021-11-12
  • 2021-05-01
猜你喜欢
  • 2021-11-08
  • 2021-04-22
  • 2022-03-07
  • 2021-05-25
  • 2021-08-22
相关资源
相似解决方案