分布式Web服务器

分布式web服务器

ch1 基础概念

  1. 什么是服务器
  • 硬件:一台配置高的电脑
  • 软件:电脑必须有一个能够解析http协议的软件
  1. 常见的web服务器
  • tomcat服务器
  • weblogic服务器
  • IIS服务器
  • nginx
  1. 客户端

网络架构:

  • b/s 使用浏览器和服务器交互
  • c/s 使用客户端软件(qt等)和服务器交互
  1. 服务器端

Nginx:

  • 能处理静态请求
  • 动态请求无法处理
  • 服务器集群之后,每台服务器上部署的内容相同

FastCGI:

  • fastCGI可以用来处理动态请求

反向代理服务器:

  • 客户端不能直接访问服务器,是发给反向代理服务器,然后由反向代理服务器转发给服务器

关系型数据库:

  • 存储文件属性信息
  • 用户的属性信息

redis-非关系型数据库(内存数据库)

  • 提高效率
  • 存储服务器经常要从关系型数据中读取的数据

FASTDFS-分布式文件系统

  • 文件分布在不同系统上
  1. FastDFS介绍:
  • 用C语言编写的一款开源的分布式文件系统
  • 为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制
  • 可以很容易搭建一套高性能的文件服务器集群,提供文件上传、下载等服务

fastDFS中的三个角色:

  • 追踪器(管理者):管理存储节点(守护进程)

  • 存储节点(普通进程)

  • 客户端:文件上传、文件下载


ch2 Redis(非关系型数据库)

主要应用在服务器端

  1. 关系型数据库
  • 操作数据必须使用sql语句
  • 数据存储在磁盘
  • 举例:mysql、oracl、sqlite
  1. 非关系型数据库
  • 操作数据使用命令
  • 数据以键值对的方式存储
  • 速度快、效率高
  • 存储的数据量小

image-20250308171527492

RDBMS:Relational Database Management System

所有数据默认存储在关系型数据库中

客户端访问服务器,有一些数据,服务器需要频繁的查询数据

  1. 安装包下载:

链接

  1. 安装:
  • make
  • make install
  1. redis中的两个角色
1
2
3
4
5
6
7
8
# 服务器 - 启动
redis-server # 默认启动
redis-server confFileName # 根据配置文件的设置启动

# 客户端
redis-cli # 默认链接本地 绑定了6379默认端口的服务器
redis-cli -p 端口号
redis-cli -h ip地址 -p 端口 # 连接远程主机的制定端口的redis
  1. redis中数据的组织形式

键值对:key必须是字符串、value是可选的

value有:string、list、set、sortedset、hash

string:字符串

list:存储多个string字符串

set:元素不重复、数据是无序的

sortedset:排序集合,集合中的元素分为两部分

[分数,成员] -> [66, “tom”]

hash:用数组来实现的

  1. redis的数据持久化
  • rdb方式

默认的方式

磁盘的持久化文件后缀为.rdb

将内存数据以二进制的方式直接写入磁盘文件

文件比较小,恢复时间短

以用户设定的频率->容易丢失数据

  • aof方式

磁盘的持久化文件后缀为.aof

直接将生成数据的命令写入磁盘文件

文件比较大,恢复时间长,效率低

以某种频率->1second

数据完整性高

ch3 nginx服务器

  1. 介绍
  • 开源的矿浆
  • C语言写的
  1. 作用
  • 作为web服务器:解析http协议
  • 反向代理服务器
  • 邮件服务器:解析邮件相关的协议
  1. 优势
  • 更快:高峰期可以比其他web服务器更快的相应请求
  • 更可靠
  • 高扩展
  • 低内存消耗

分布式Web服务器
https://wzyynu.top/2026/03/23/web_service/
Author
yuanyuan
Posted on
March 23, 2026
Licensed under