当前位置: 首页 > news >正文

分层架构简图

分层架构

代理层

作用:这个层面也可以叫做缓存层,用以减轻后端服务器数据及存储压力

实现方式:

  • 目前大多数企业都会选择使用CDN的方式进行静态资源的缓存和代理,CDN是一种组合技术,其中包括数据回源,缓存服务器,智能DNS等几个重要部分组成

  • 自建代理服务器,一些超大规模公司可能会考虑到风险问题实行自建加购买服务结合,可以通过squid、NGINX、cache来做小型达到DNS加速的作用。

  • 我们可以通过自己建设cache缓存层,对购买的CDN提供数据源服务,可以用的软件有varnish、nginx、squid等cache缓存软件,以减轻以减轻静态数据层的压力。我们也可以架设DNS服务器,达到跨机房业务拓展及智能解析的目的。

负载均衡层

作用:

​ 建立在现有网络结构之上,提供一种廉价有效透明的方法扩展网络设备和服务器带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

常见实现方式:

  1. HTTP重定向负载均衡

  2. DNS域名解析负载均衡

  3. 反向代理负载均衡

  4. IP负载均衡

  5. 数据链路层负载均衡

常用软件:

  1. LVS

  2. NGINX

  3. HAProxy

动静分离

作用:

  1. 让静态的资源只走静态资源服务器,动态的走动态的服务器

  2. 让程序上将不经常发生改变的内容静态化,经常变化的内容动态化,实时显示或者是一段时间变化显示

  3. 让运算资源文件(php,aspx,jsp)等与静态资源文件(jpg,png,css,js)走不同的文件

实现思路:

  动静分离主要从三个方去看:1.服务器2.程序3.文件​在服务器层面:为静态资源准备专门的服务器,调优参数,与动态资源服务器分开。让静态资源分布在全国不同的服务器上(DNS),就近缓存到最近的服务器上。不再请求原有的真实的服务器,分担源服务器的压力。提高就近访问的速度。而动态内容,反向拉取即可。程序层面:让一次数据没有变化,查询没有变化的时候。属于将文件静态化了,一段时间不发生变化。 一个文章没有修改, 直接存于缓存。一个发布,不需要修改的,直接写成.shtml文件。我们都可以称之为临时静态化或者是持久静态化。文件层面:将静态资源放至专门的域名,header头中不发送cookie等信息。静态文件,单独存储,静态文压缩发送。

目的:

  • 提升资源的利用率

  • 加快用户反问速度

数据缓存层

目的:加快读取数据的速度,提高数据库反问的效率

常常使用NOSQL数据库软件作为缓存数据库

常用软件如下:

  1. memcaceh

  2. Redis

  3. Ehcache

数据库集群层

目的:较低成本的情况下获得在 性能、可靠性、灵活性方面的相对较高的收益

技术点:

  1. 主从复制

  2. 读写分离

    • 读写分离实现方式:

      • 通过业务代码逻辑实现

      • 通过中间插件实现

 

 

该文档由个人总结所得,如有不足还请见谅及补充


http://www.taodudu.cc/news/show-6309759.html

相关文章:

  • JS中数组去重的几种方法
  • 微服务总结
  • react-select组件使用
  • 50kw 直流充电桩测试仪的基础知识
  • Java 框架安全:Struts2 漏洞序列测试.
  • 打开IE浏览器自动跳转微软的edge浏览器,取消自动跳转
  • 数据分层简述
  • 简谈分层图
  • 数据流图-2(分层数据流图)
  • 流程图分级、分类、分层
  • 什么是分层架构
  • 链路聚合的原理以及配置
  • 链路聚合—3种模式
  • 链路聚合及配置
  • 交换机之间的链路聚合
  • 链路聚合与链路捆绑
  • 链路聚合和LACP
  • 链路聚合(二层链路聚合划分)
  • 链路聚合—3种模式 详细
  • 【技术分享】链路聚合
  • 链路聚合详解
  • 链路聚合的作用与实例
  • 链路聚合原理及配置过程
  • 链路聚合(eth-trunk)
  • 链路聚合的定义、链路聚合的概念和基本术语、链路聚合的特点
  • 基于vue编写的2048小游戏
  • 用Qt开发小游戏《愤怒的小鸟》
  • [效率提升]webstorm配置Prettier:代码自动格式,格式化时清除空行,修改使用代码模板
  • WebStorm+Vue-cli 配置alias 点击跳转无效问题
  • JavaScript葵花宝典(基础)
  • js Console 对象 - Kaiqisan
  • JS_01_变量_数据类型
  • vanilla_使用Vanilla JavaScript构建Cookie库
  • 笔记 - JavaScript - 超哥视频
  • JS知识点总结(全)
  • Vue.js + Vuex + TypeScript 实战项目开发与项目优化