목차
浅谈大型web系统架构,web系统架构
  Web前端系统
  负载均衡系统
  数据库集群系统
  缓存系统
  分布式存储系统
  分布式服务器管理系统
  代码发布系统
php教程 php手册 浅谈大型web系统架构,web系统架构

浅谈大型web系统架构,web系统架构

Jun 13, 2016 am 08:59 AM
건축학

浅谈大型web系统架构,web系统架构

动态应用,是相对于网站静态内容而言,是指以c/c++、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通常与数据库系统、缓存系统、分布式存储系统等密不可分。

  大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。

  大型动态应用系统又可分为几个子系统:

  1)Web前端系统

  2)负载均衡系统

  3)数据库集群系统

  4)缓存系统

  5)分布式存储系统

  6)分布式服务器管理系统

  7)代码分发系统

  Web前端系统

  结构图:

  为了达到不同应用的服务器共享、避免单点故障、集中管理、统一配置等目的,不以应用划分服务器,而是将所有服务器做统一使用,每台服务器都可以对多个应用提供服务,当某些应用访问量升高时,通过增加服务器节点达到整个服务器集群的性能提高,同时使他应用也会受益。该Web前端系统基于Apache/Lighttpd/Eginx等的虚拟主机平台,提供PHP程序运行环境。服务器对开发人员是透明的,不需要开发人员介入服务器管理

  负载均衡系统

  负载均衡系统分为硬件和软件两种。硬件负载均衡效率高,但是价格贵,比如F5等。软件负载均衡系统价格较低或者免费,效率较硬件负载均衡系统低,不过对于流量一般或稍大些网站来讲也足够使用,比如lvs, nginx。大多数网站都是硬件、软件负载均衡系统并用。

  数据库集群系统

  结构图:

  由于Web前端采用了负载均衡集群结构提高了服务的有效性和扩展性,因此数据库必须也是高可靠的,才能保证整个服务体系的高可靠性,如何构建一个高可靠的、可以提供大规模并发处理的数据库体系?

  我们可以采用如上图所示的方案:

  1) 使用 MySQL 数据库,考虑到Web应用的数据库读多写少的特点,我们主要对读数据库做了优化,提供专用的读数据库和写数据库,在应用程序中实现读操作和写操作分别访问不同的数据库。

  2) 使用 MySQL Replication 机制实现快速将主库(写库)的数据库复制到从库(读库)。一个主库对应多个从库,主库数据实时同步到从库。饺子机www.yjlmj.com  整理发布

  3) 写数据库有多台,每台都可以提供多个应用共同使用,这样可以解决写库的性能瓶颈问题和单点故障问题。

  4) 读数据库有多台,通过负载均衡设备实现负载均衡,从而达到读数据库的高性能、高可靠和高可扩展性。

  5) 数据库服务器和应用服务器分离。

  6) 从数据库使用BigIP做负载均衡。

  缓存系统

  缓存分为文件缓存、内存缓存、数据库缓存。在大型Web应用中使用最多且效率最高的是内存缓存。最常用的内存缓存工具是Memcached。使用正确的缓存系统可以达到实现以下目标:

  1、使用缓存系统可以提高访问效率,提高服务器吞吐能力,改善用户体验。

  2、减轻对数据库及存储集服务器的访问压力。

  3、Memcached服务器有多台,避免单点故障,提供高可靠性和可扩展性,提高性能。

  分布式存储系统

  结构图:

  Web系统平台中的存储需求有下面两个特点:

  1) 存储量很大,经常会达到单台服务器无法提供的规模,比如相册、视频等应用。因此需要专业的大规模存储系统。

  2) 负载均衡cluster中的每个节点都有可能访问任何一个数据对象,每个节点对数据的处理也能被其他节点共享,因此这些节点要操作的数据从逻辑上看只能是一个整体,不是各自独立的数据资源。

  因此高性能的分布式存储系统对于大型网站应用来说是非常重要的一环。(这个地方需要加入对某个分布式存储系统的简单介绍。)

  分布式服务器管理系统

  结构图:

  随着网站访问流量的不断增加,大多的网络服务都是以负载均衡集群的方式对外提供服务,随之集群规模的扩大,原来基于单机的服务器管理模式已经不能够满足我们的需求,新的需求必须能够集中式的、分组的、批量的、自动化的对服务器进行管理,能够批量化的执行计划任务。

  在分布式服务器管理系统软件中有一些比较优秀的软件,其中比较理想的一个是Cfengine。它可以对服务器进行分组,不同的分组可以分别定制系统配置文件、计划任务等配置。它是基于C/S 结构的,所有的服务器配置和管理脚本程序都保存在Cfengine Server上,而被管理的服务器运行着 Cfengine Client 程序,Cfengine Client通过SSL加密的连接定期的向服务器端发送请求以获取最新的配置文件和管理命令、脚本程序、补丁安装等任务。

  有了Cfengine这种集中式的服务器管理工具,我们就可以高效的实现大规模的服务器集群管理,被管理服务器和 Cfengine Server 可以分布在任何位置,只要网络可以连通就能实现快速自动化的管理。

  代码发布系统

  结构图:

  随着网站访问流量的不断增加,大多的网络服务都是以负载均衡集群的方式对外提供服务,随之集群规模的扩大,为了满足集群环境下程序代码的批量分发和更新,我们还需要一个程序代码发布系统。

  这个发布系统可以帮我们实现下面的目标:

  1) 生产环境的服务器以虚拟主机方式提供服务,不需要开发人员介入维护和直接操作,提供发布系统可以实现不需要登陆服务器就能把程序分发到目标服务器。

  2) 我们要实现内部开发、内部测试、生产环境测试、生产环境发布的4个开发阶段的管理,发布系统可以介入各个阶段的代码发布。

  3) 我们需要实现源代码管理和版本控制,SVN可以实现该需求。

  这里面可以使用常用的工具Rsync,通过开发相应的脚本工具实现服务器集群间代码同步分发。

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

딥러닝 아키텍처의 비교 분석 딥러닝 아키텍처의 비교 분석 May 17, 2023 pm 04:34 PM

딥러닝의 개념은 인공 신경망 연구에서 유래되었습니다. 여러 개의 은닉층을 포함하는 다층 퍼셉트론이 딥러닝 구조입니다. 딥 러닝은 하위 수준 기능을 결합하여 보다 추상적인 상위 수준 표현을 형성하여 데이터의 범주나 특성을 나타냅니다. 데이터의 분산된 특징 표현을 발견할 수 있습니다. 딥러닝은 머신러닝의 일종으로, 머신러닝은 인공지능을 달성하는 유일한 방법이다. 그렇다면 다양한 딥러닝 시스템 아키텍처의 차이점은 무엇입니까? 1. 완전 연결 네트워크(FCN) 완전 연결 네트워크(FCN)는 일련의 완전히 연결된 계층으로 구성되며, 각 계층의 모든 뉴런은 다른 계층의 모든 뉴런에 연결됩니다. 주요 장점은 "구조에 구애받지 않는다"는 것입니다. 즉, 입력에 대한 특별한 가정이 필요하지 않습니다. 비록 이러한 구조적 불가지론이 완전한

Spring Data JPA의 아키텍처와 작동 원리는 무엇입니까? Spring Data JPA의 아키텍처와 작동 원리는 무엇입니까? Apr 17, 2024 pm 02:48 PM

SpringDataJPA는 JPA 아키텍처를 기반으로 하며 매핑, ORM 및 트랜잭션 관리를 통해 데이터베이스와 상호 작용합니다. 해당 리포지토리는 CRUD 작업을 제공하고 파생 쿼리는 데이터베이스 액세스를 단순화합니다. 또한 지연 로딩을 사용하여 필요한 경우에만 데이터를 검색하므로 성능이 향상됩니다.

이 '실수'는 실제로는 실수가 아닙니다. Transformer 아키텍처 다이어그램의 '잘못'이 무엇인지 이해하려면 4개의 고전 논문으로 시작하세요. 이 '실수'는 실제로는 실수가 아닙니다. Transformer 아키텍처 다이어그램의 '잘못'이 무엇인지 이해하려면 4개의 고전 논문으로 시작하세요. Jun 14, 2023 pm 01:43 PM

얼마 전 Transformer 아키텍처 다이어그램과 Google Brain 팀의 논문 "AttentionIsAllYouNeed" 코드 간의 불일치를 지적하는 트윗이 많은 논의를 촉발했습니다. 어떤 사람들은 세바스찬의 발견이 의도하지 않은 실수였다고 생각하지만, 그 역시 놀라운 일이다. 결국 Transformer 논문의 인기를 고려하면 이러한 불일치는 수천 번 언급되어야 합니다. Sebastian Raschka는 네티즌 댓글에 대해 "가장 독창적인" 코드가 아키텍처 다이어그램과 실제로 일치하지만 2017년에 제출된 코드 버전은 수정되었지만 아키텍처 다이어그램은 동시에 업데이트되지 않았다고 말했습니다. 이는 '일관되지 않은' 논의의 근본 원인이기도 합니다.

다중 경로, 다중 도메인, 모든 것을 포함합니다! Google AI, 다중 도메인 학습 일반 모델 MDL 출시 다중 경로, 다중 도메인, 모든 것을 포함합니다! Google AI, 다중 도메인 학습 일반 모델 MDL 출시 May 28, 2023 pm 02:12 PM

비전 작업(예: 이미지 분류)을 위한 딥 러닝 모델은 일반적으로 단일 시각적 영역(예: 자연 이미지 또는 컴퓨터 생성 이미지)의 데이터를 사용하여 엔드투엔드 학습됩니다. 일반적으로 여러 도메인에 대한 비전 작업을 완료하는 애플리케이션은 각 개별 도메인에 대해 여러 모델을 구축하고 이를 독립적으로 교육해야 합니다. 추론 중에는 각 모델이 특정 도메인 입력 데이터를 처리합니다. 서로 다른 분야를 지향하더라도 이러한 모델 간 초기 레이어의 일부 기능은 유사하므로 이러한 모델의 공동 학습이 더 효율적입니다. 이렇게 하면 대기 시간과 전력 소비가 줄어들고, 각 모델 매개변수를 저장하는 데 드는 메모리 비용이 줄어듭니다. 이러한 접근 방식을 다중 도메인 학습(MDL)이라고 합니다. 또한 MDL 모델은 단일 모델보다 성능이 뛰어날 수도 있습니다.

1.3ms는 1.3ms가 걸립니다! Tsinghua의 최신 오픈 소스 모바일 신경망 아키텍처 RepViT 1.3ms는 1.3ms가 걸립니다! Tsinghua의 최신 오픈 소스 모바일 신경망 아키텍처 RepViT Mar 11, 2024 pm 12:07 PM

논문 주소: https://arxiv.org/abs/2307.09283 코드 주소: https://github.com/THU-MIG/RepViTRepViT는 모바일 ViT 아키텍처에서 잘 작동하며 상당한 이점을 보여줍니다. 다음으로, 본 연구의 기여를 살펴보겠습니다. 기사에서는 경량 ViT가 일반적으로 시각적 작업에서 경량 CNN보다 더 나은 성능을 발휘한다고 언급했는데, 그 이유는 주로 모델이 전역 표현을 학습할 수 있는 MSHA(Multi-Head Self-Attention 모듈) 때문입니다. 그러나 경량 ViT와 경량 CNN 간의 아키텍처 차이점은 완전히 연구되지 않았습니다. 본 연구에서 저자는 경량 ViT를 효과적인

머신러닝 시스템 아키텍처의 10가지 요소 머신러닝 시스템 아키텍처의 10가지 요소 Apr 13, 2023 pm 11:37 PM

지금은 AI 역량 강화 시대이며, 머신러닝은 AI를 달성하기 위한 중요한 기술적 수단입니다. 그렇다면 보편적인 머신러닝 시스템 아키텍처가 존재하는 걸까요? 숙련된 프로그래머의 인지 범위 내에서는 특히 시스템 아키텍처의 경우 아무것도 아닙니다. 그러나 대부분의 기계 학습 기반 시스템이나 사용 사례에 적용할 수 있는 경우 확장 가능하고 안정적인 기계 학습 시스템 아키텍처를 구축하는 것이 가능합니다. 기계 학습 수명 주기 관점에서 볼 때 이 소위 범용 아키텍처는 기계 학습 모델 개발부터 교육 시스템 및 서비스 시스템을 프로덕션 환경에 배포하는 것까지 주요 기계 학습 단계를 다룹니다. 우리는 이러한 머신러닝 시스템 아키텍처를 10가지 요소의 차원에서 설명할 수 있습니다. 1.

SOA의 소프트웨어 아키텍처 설계와 소프트웨어 및 하드웨어 분리 방법론 SOA의 소프트웨어 아키텍처 설계와 소프트웨어 및 하드웨어 분리 방법론 Apr 08, 2023 pm 11:21 PM

차세대 중앙 집중식 전자 및 전기 아키텍처를 위해 중앙+영역 중앙 컴퓨팅 장치 및 지역 컨트롤러 레이아웃의 사용은 다양한 OEM 또는 Tier1 플레이어에게 필수 옵션이 되었습니다. 중앙 컴퓨팅 장치의 아키텍처에는 세 가지가 있습니다. 방법: 분리 SOC, 하드웨어 격리, 소프트웨어 가상화. 중앙 집중식 중앙 컴퓨팅 장치는 자율 주행, 스마트 조종석 및 차량 제어의 세 가지 주요 영역의 핵심 비즈니스 기능을 통합합니다. 표준화된 지역 컨트롤러에는 전력 분배, 데이터 서비스 및 지역 게이트웨이라는 세 가지 주요 책임이 있습니다. 따라서 중앙 컴퓨팅 장치에는 처리량이 높은 이더넷 스위치가 통합됩니다. 전체 차량의 통합 정도가 점점 높아짐에 따라 점점 더 많은 ECU 기능이 지역 컨트롤러에 흡수될 것입니다. 그리고 플랫폼화

AI 인프라: IT 및 데이터 과학 팀 협업의 중요성 AI 인프라: IT 및 데이터 과학 팀 협업의 중요성 May 18, 2023 pm 11:08 PM

인공 지능(AI)은 많은 산업 분야의 판도를 변화시켜 기업이 효율성, 의사 결정 및 고객 경험을 개선할 수 있도록 지원합니다. AI가 계속 발전하고 더욱 복잡해짐에 따라 기업은 AI 개발 및 배포를 지원하기 위해 올바른 인프라에 투자하는 것이 중요합니다. 이 인프라의 핵심 측면은 IT 팀과 데이터 과학 팀 간의 협업입니다. 둘 다 AI 이니셔티브의 성공을 보장하는 데 중요한 역할을 하기 때문입니다. 인공 지능의 급속한 발전으로 인해 컴퓨팅 성능, 스토리지 및 네트워크 기능에 대한 수요가 증가했습니다. 이러한 요구는 AI에 필요한 복잡하고 리소스 집약적인 워크로드를 처리하도록 설계되지 않은 기존 IT 인프라에 부담을 줍니다. 결과적으로 기업은 이제 AI 워크로드를 지원할 수 있는 시스템을 구축하기 위해 노력하고 있습니다.

See all articles