赞
踩
概念: 应用服务和数据库服务公用一台服务器
出现背景: 出现在互联网早期,访问量比较小,单机足以满足需求
架构优缺点:
优点:部署简单,成本低
缺点:存在严重的性能瓶颈,数据库和应用互相竞争资源
架构工作原理:
以购物网站为例,可以看到通过应用(划分了多个模块)和 数据库 在单个服务器上协作完成业务运行
示例如下图:
对应的工作原理:
概念: 应用服务和数据库服务使用不同服务器
出现背景: 单机存在严重的资源竞争,导致站点变慢
架构优缺点:
优点:
缺点:
架构应用原理:
还是以购物网站为例,可以看到应用(划分了多个模块)和 数据库 在各自的服务器上通过网络协作完成业务运行
示例如下图:
对应的工作原理:
概念: 引入了负载均衡,应用以集群方式运作
出现背景: 单个应用不足以支持海量的并发请求,高并发的
架构优缺点:
优点:
缺点:
架构应用原理:
还是以购物网站为例,可以看到应用不再是一个,而是变成了多个,通过负载均衡来支持海量的并发
示例如下图:
对应的工作原理:
概念: 将数据库读写操作分散到不同的节点上,数据库服务器搭建主从集群,一主一从、—主多从都可以,数据库主机负责写操作,从机只负责读操作
出现背景: 数据库成为瓶颈,而互联网应用一般读多写少,数据库承载压力大,主要是由这些读的请求造成的,那么我们可以把读操作和写操作分开
架构优缺点:
优点:
缺点:
架构应用原理:
还是以购物网站为例,可以看到应用不再是一个,而是变成了多个,数据库主机负责写操作,从机负责读操作,数据库主机通过复制将数据同步到从机
示例如下图:
对应的工作原理:
概念: 引入缓存,实行冷热分离,将热点数据放到缓存中快速响应
出现背景: 海量的请求导致数据库负载过高,站点响应再度变慢
架构优缺点:
优点:大幅降低对数据库的访问请求,性能提升非常明显
缺点:
架构应用原理:
还是以购物网站为例,可以看到多了缓存服务器,对于热点数据全部放到缓存中,不常用数据再去查询我们的数据库
示例如下图:
对应的工作原理:
概念: 数据库的数据被拆分,数据库数据分布式存储,分布式处理,分布式查询,也可以理解为分布式数据库架构
出现背景: 单机的写库会逐渐会达到性能瓶颈,需要拆分数据库,数据表的数据量太大,处理压力太大,需要进行分表,为降低运维难度,业界逐渐研发了分布式数据库,库表天然支持分布式
架构优缺点:
优点:数据库吞吐量大幅提升,不再是瓶颈
缺点:
分库分表
分布式数据库
架构应用原理:
还是以购物网站为例,数据库是由多个主从库或者存储集群构成,支持分布式大规模并行处理
示例如下图:
对应的工作原理:
概念: 微服务是一种架构风格,按照业务板块来划分应用代码,使单个应用的职责更清晰,相互之间可以做到独立升级迭代
出现背景:
架构优缺点:
优点:
缺点:
架构应用原理:
还是以购物网站为例,一个商城应用拆分成了多个微服务,如用户服务、交易服务和商品服务,相互之间协作支持整个商城的应用,还增添了直播带货的应用
示例如下图:
对应的工作原理:
概念: 借助容器化技术(如docker)将应用/服务可以打包为镜像,通过容器编排工具(如k8s)来动态分发和部署镜像,服务以容器化方式运行
出现背景:
架构优缺点:
现状: 目前最流行的容器化技术是 Docker,最流行的容器管理服务是 Kubernetes(K8S),应用/服务可以打包为 Docker 镜像,通过 K8S 来动态分发和部署镜像。Docker 镜像可理解为一个能运行你的应用/服务的最小的操作系统,里面放着应用/服务的运行代码,运
行环境根据实际的需要设置好。把整个“操作系统”打包为一个镜像后,就可以分发到需要部署相关服务的机器上,直接启动 Docker 镜像就可以把服务起起来,使服务的部署和运维变得简单。
C++和Java部署到服务器的过程图示:
上述过程联系现实的理解:
架构应用原理: 还是以购物网站为例,一个商城应用拆分成了多个微服务,如用户服务、交易服务和商品服务,每一个微服务打包到容器之中,相互协作来完成系统功能,通过容器编排工具完成部署运维
对应的工作原理:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。