可扩展、高可用、负载均衡网站架构设计方案

【办公软件】手机当电脑摄像头Iriun Webcam软件安装与试用 Iriun Webcam软件做虚拟摄像头,将老旧的安卓手机当做台式电脑摄像头和音频输入设备。 阅读详情
版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://sery.blog.51cto.com/10037/85910

可扩展、高可用、负载均衡网站架构设计方案
作者:田逸 (sery@163.com ) 本作品已刊登在《IT实验室周报》第6期第6版
基本需求 :
1、   高可用性:将停止服务时间降低到最低甚至是不间断服务
2、   可扩展性:随着访问的增加,系统具备良好的伸缩能力
3、   可视性:系统、服务的状态处于一个实时的监控之下
4、   高性能高可靠性:经过优化的体系结构及合理的备份策略
5、   安全性:结构上的安全及主机的安全策略
 
基本思路
1 、对于访问频繁,用户量大的对象( bbs,blog )采用某种合理的方式负载到多个服务器上。把数据库独立出来,准备 2 套 mysql 数据库,以实现主从复制,即减轻负载,又提高了可靠性。更近一步,使用 mysql proxy 技术,实现主从服务器的读写分离,大大提高这个系统的性能和负载能力。
2 、数据库与外部网络隔离,只允许 web 服务器( bbs,blog 等)通过私有地址方式访问。这样就提高了数据库的安全性,同时也节省了宝贵的带宽。
3 、部署监控系统,通过监控主机存活、服务、主机资源,实时把系统的健康状态置于可视状态,对系统的运营状态心中有数。
4 、备份是想都不用想的事情,使用单独的服务器集中备份,是一个比较不错的主意。
 
拓扑结构
 
业务逻辑
 
技术实现
1 、负载均衡。 2 台同样配置的 linux 服务器,内核支持 lvs, 配置 keepalived 工具,即可实现负载转发。一旦其后的真实服务器出现故障, keepalived 会自动把故障机器从转发队列删除掉,等到故障修复,它又会自动把真实服务器的地址加入转发列表。由于 lvs 支持会话保持,因此对于 bbs 这样的应用,一点也不用担心其登录丢失。
2 、 mysql 主从复制。即保证数据的安全,又提高了访问性能。我们在前端的每个 web 服务器上加入 mysql proxy 这个工具,即可期待实现读写的自动分离,让写的操作发生在主数据库,让查询这类读操作发生在从数据库。
3 、 nagios 是一个开源的,受广泛欢迎的监控平台。它可对主机的存活、系统资源(磁盘空间、负载等)、网络服务进行实时监控。一旦探测到故障,将自动发送邮件(短信)通知故障。
4 、备份。包括 web 数据和数据库服务器的备份。对于 web 服务而言, GNU tar 即可实现备份的一切愿望。简单的设置一下 crontab 就可以让系统在我们做梦的时刻老老实实的帮我们备份了。但是,由于空间的限制,不可能一直备份下去,所以要做一个合适的策略,以不断的用新的备份去替换陈旧的备份数据;多少天合适?看磁盘容量吧。对于数据库,先 mysqldump 一下,再 tar. 完成这些工作后把备份文件传输到备份服务器集中。一个比较省事的方法是把备份服务器以 NFS 方式挂接到 web 服务器及数据库服务器。
5 、 web 服务器。至少包括 apache 和 mysql proxy 这两个组件。 Apache 做 bbs 和 blog 的容器,以虚拟机方式把用户的请求转发到 bbs 目录或 blog 目录。
6 、安全措施。包含两层安全,一层是主机本身,另一层是结构( mysql 从外部网络隔离)。实践证明, iptables 是一个非常值得信赖的防火墙工具。在实际应用中,采取先关门后开窗的策略,大大增强系统的安全性。
 
组件
一、 硬件 : 负载均衡 2 台 (dell 1950),web 服务器 2-3 台 (dell1950), 数据库 2 台 (dell 2950), 存储 NAS(5T 格式化后容量 ), 备份 4u 服务器 ( 带磁盘阵列 5T 容量 ), 监控服务器 1 台 (dell1850).
二、 软件:操作系统 centos 5( 定制安装 ) ,负载均衡 ipvsadm 、 keepalived, 监控 nagios,web 服务 apache+php 等,数据库 mysql, 数据库代理 mysql proxy.
 
进度安排
1、   lvs 负载均衡配置及测试: 2-3 天
2、   web 服务器配置: 2-3 天
3、   mysql 主从服务器配置: 1-3 天
4、   web 数据迁移: 1 天
5、   数据库数据迁移: 2 天
6、   上线测试: 1-2 天
7、   正式上线: 2 天
 
 
keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL
}
 
vrrp_instance VI_1 {
    state  master
    interface eth0
    virtual_router_id 59
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
          }
  virtual_ipaddress {
  61.61.61.100
  #61.61.61.101
  }
}
 
virtual_server 61.61.61.100 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 50
    protocol TCP
real_server 61.61.61.102 80 {
        weight 100
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
    real_server 61.61.61.103 80 {
        weight 100
        TCP_CHECK {
            connect_timeout 3
             nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
     }
    }
 
真实服务器虚拟ip设置脚本
#!/bin/bash
#description : start realserver
VIP=61.61.61.100
./etc/rc.d/init.d/functions
case "$1" in
start)
echo " start LVS of REALServer"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
stop)
/sbin/ifconfig lo:0 down
echo "close LVS Directorserver"
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac

本文出自 “sery ” 博客,请务必保留此出处http://sery.blog.51cto.com/10037/85910

IriunWebcam.rar 让安卓手机当OBS的摄像头, 立即下载

相关推荐

扩视机器视觉—Halcon机器视觉48个实战项目六(检测定位角度)

此项目halcon检测检测定位角度问题,并显示。

qq_21516871的博客 1093

深入浅出网站高可用架构设计

网站高可用指的就是,在绝大多的时间里,网站一直处于可以对外提供服务的正常状态。业界通常使用有多少个“9”来衡量网站的可用性指标,具体的计算公式也很简单,就是一段时间内(比如一年)网站可用的时间占总时间的百分比。 我用下面这个表格,列出了四种最常见的可用性等级指标,以及允许的系统不可用时长。 可用性等级 通俗叫法 量化的可用性等级 一年中允许的不可用时长 基本可用 2...

chen__an的博客 691

LLM大模型-vLLM本地部署全流程:Windows WSL2环境安装、HuggingFace与Modelscope模型加载与本地运行、Docker化部署与镜像分发

vLLM本地部署大模型方案 vLLM是一款高性能大模型推理引擎,通过PagedAttention技术显著提升吞吐量和内存效率,支持低成本、高并发的本地部署。 核心优势: 性能卓越:吞吐量远超同类方案,支持连续批处理等高级功能 成本优化:减少GPU服务器需求 兼容性强:提供类OpenAI的简洁API 部署步骤: 硬件准备:需NVIDIA GPU(如A100/3090),显存≥模型参数量×2(7B模型需14GB) 软件环境: Linux系统或Windows WSL2 安装CUDA 12.1+和Python 3.

2202_75674969的博客 4566

网站的高可用架构

网站的可用性描述网站可有效访问的特性,相比于网站的其他非功能特性,网站的可用性更牵动人们的神经,大型网站的不可用事故直接影响公司形象和利益。 5.2高可用的网站架构 网站高可用架构设计的主要目的是保证服务器硬件故障时服务仍然可用、数据依然保存并能够访问。 实现上述高可用架构的主要手段是数据和服务的冗余备份及失效转移,一旦某些服务器宕机,就将服务切换到其他可用服务器上,如果磁盘损坏,则从备份磁...

qq_37113604的博客 444

【Web攻防】SQLMap实战进阶:从数据猜解到高权限渗透的全流程指南

本文介绍了SQLMap工具在Web安全渗透测试中的实战应用,重点讲解了数据猜解、高权限操作、复杂请求提交、Tamper脚本开发和指纹绕过等核心场景。文章提供了可直接复用的命令示例,包括数据库信息获取、文件读写、命令执行等操作,并详细说明了POST/JSON/Cookie注入的实现方法。同时,介绍了Tamper脚本的开发模板和指纹伪装技巧,帮助降低检测风险。最后强调SQLMap在自动化渗透全链路中的价值,从漏洞发现到权限提升的完整流程,并提供了优化测试效率的实用建议。所有技术内容仅限合法授权场景使用。

YsChunQiu777的博客 440

Unreal Engine开发:多人联机与网络同步_延迟补偿与预测

通过延迟补偿和预测技术,我们可以显著减少网络延迟对多人在线动作游戏的影响,提升玩家的体验。延迟补偿主要在服务器端实现,通过回溯时间点来更准确地处理输入和事件。预测技术主要在客户端实现,通过预先计算玩家的动作结果来减少延迟感。结合这两种技术,可以实现更平滑、更公平的多人游戏体验。

chenlz2007的博客 1191

手机变电脑摄像头

比起电脑摄像头,手机作为电脑摄像头质量要好上一大截,虽不说画质100%无损,但是还原90%以上还是可以搞定的。软件功能非常简单,就是充当电脑摄像头使用!手机端功能也非常丰富,像前后摄像头反转、镜像、闪光灯功能都是支持的,用起来简直爽歪歪,无论是拿来录制演示视频啥的,功能都是绰绰有余了。但是,最近几年,网课、在线会议的大规模普及,电脑摄像头又成为了一个必需品,如果缺失这一设备,可能各项工作都无法进行。所以,今天就给大家推荐一个非常好用的软件,只需简单几步,即可让手机变成电脑摄像头,来解决没有摄像头的问题!

faf623的博客 1325

Xilinx高级调试方法--远程调试

本文主要介绍Xilinx的一些高级调试方法,以及如何使用Xilinx的相关IP。

斌赋的博客 3308

可扩展、高可用、负载均衡网站架构设计方案--童亚斋

基本需求: 1、高可用性:将停止服务时间降低到最低甚至是不间断服务2、可扩展性:随着访问的增加,系统具备良好的伸缩能力3、可视性:系统、服务的状态处于一个实时的监控之下4、高性能高可靠性:经过优化的体系结构及合理的备份策略5、安全性:结构上的安全及主机的安全策略基本思路1、对于访问频繁,用户量大的对象(bbs,blog)采用某种合理的方式负载到多个服务器上。把数据库独立

TONG哥的专栏 851

2025年软件测试职业院校技能大赛—ERP管理平台-采购管理采购入库模块测试用例

竞赛对接软件测试相关标准,以“ERP管理平台” 为被测系统,围绕软件测试领域的主流技术及工具,考查选手面 对实际问题的综合分析能力,对测试文档、测试用例的设计能力, 对单元测试、自动化测试、性能测试、接口测试等测试工具及方 法的掌握程度,检验选手团队协作能力、组织规划能力、方法运用能力等。

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 401

【推荐100个unity插件之8】实现多人在线联机游戏——Mirror插件的使用介绍(附项目源码)

基于Mirror的Unity多人游戏开发指南 本文介绍了使用Mirror插件开发Unity多人游戏的基本流程。Mirror是Unity的高级网络API,替代了已废弃的UNet系统。文章详细讲解了如何导入Mirror插件,创建NetworkManager网络管理器,处理常见错误,以及创建玩家角色和出生点。 主要内容包括: 创建场景NetworkManager并配置必要组件 为玩家添加NetworkIdentity和NetworkTransform组件 设置玩家初始生成位置和生成方式 常见错误及解决方法 通过M

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1万+

(转载)可扩展、高可用、负载均衡网站架构设计方案

可扩展、高可用、负载均衡网站架构设计方案 作者:田逸(sery@163.com) 本作品已刊登在《IT实验室周报》第6期第6版 基本需求: 1、  高可用性:将停止服务时间降低到最低甚至是不间断服务 2、  可扩展性:随着访问的增加,系统具备良好的伸缩能力 3、  可视性:系统、服务的状态处于一个实时的监控之下 4、  高性能高可靠性:经过优化的体系结构及合理...

会当凌绝顶 一览众山小 177

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 清理多个varnish服务器缓存的脚本
下一篇: 如何做一个出色的程序员
leminsky
博客等级 码龄22年 43粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值