容器 - 八大架构的演进

Docker

容器虚拟化核心技术+docker生态、架构及组成部分+容器编排详解+核心原理实现

我目前就来学学基本知识。

八大架构的演进

文章目录

  • Docker
  • 八大架构的演进
    • [1. 单机架构](#1. 单机架构)
    • [2. 应用数据分离架构](#2. 应用数据分离架构)
    • [3. 应用服务集群架构](#3. 应用服务集群架构)
    • [4. 读写分离/主从分离架构](#4. 读写分离/主从分离架构)
    • [5. 冷热分离架构](#5. 冷热分离架构)
    • [6. 垂直分库架构/分布式数据库架构](#6. 垂直分库架构/分布式数据库架构)
    • [7. 微服务架构](#7. 微服务架构)
    • [8. 容器编排架构](#8. 容器编排架构)

1. 单机架构

所有服务部署在一台服务器上

  • 出现原因:互联网早期,访问量小,单机足以满足需求
  • 架构原理:以电子商城为例,应用和数据库在蛋哥服务器上写作完成业务
  • 架构优缺点:
    • 部署简单,成本低
    • 性能瓶颈,数据库和应用相互竞争资源

2. 应用数据分离架构

应用和数据库服务使用不同服务器

  • 出现原因:单机存在严重的资源竞争,导致站点变慢
  • 工作原理:应用与数据在各自服务器上通过网络写作完成
  • 优缺点:
    • 成本相对可控;性能相对提升;隔离,一定的容灾能力
    • 硬件成本变高。性能有瓶颈,无法应对海量并发

3. 应用服务集群架构

引入了负载均衡(DNS ip分配;LVS/F5硬件;Nginx,应用,多级挂载),应用以集群方式运作

  • 出现原因:单个应用不足以支持海量的并发请求,高并发的时候站点响应变慢
  • 优缺点:
    • 应用服务高可用;应用服务具备一定的高性能;应用支持横向扩展
    • 数据库单点;运维工作量增加;硬件成本较高

4. 读写分离/主从分离架构

将数据库读写分散到不同节点上,数据库服务器搭建主从集群(一主一从,一主多从),大哥负责写,小弟负责读。

  • 出现原因:数据库成为瓶颈,期号互联网应用读多写少,干啥找谁(加一层mycat/tddr)

  • 架构工作原理:数据库主机通过复制同步

  • 优缺点:

    • 数据库读取性能提升;写也间接提升;可用性高
    • 热点数据频繁读取导致数据库负载很高;同步延迟;服务器成本增高

5. 冷热分离架构

引入缓存,实行冷热分离,将热点数据放入缓存中

  • 出现原因:海量请求负载过高
  • 架构工作原理:多了缓存服务器(Redis集群化)
  • 优缺点:
    • 大幅降低数据库的访问请求,性能提升非常明显
    • 缓存一致性,缓存击穿,缓存失效;
    • 单个表体量太大,数据查询很慢

6. 垂直分库架构/分布式数据库架构

数据库的数据被拆分,分布式存储处理和查询

  • 出现原因:单机写库逐渐达到性能瓶颈
  • 优缺点:
    • 跨库join,分布式事务等问题,需要解决方案,目前的mpp都有对应的解决方案
    • 数据库和缓存结合目前能抗住海量的请求,但应用的代码耦合在一起,修改一行需要整体重新发布。

7. 微服务架构

按照业务板块来划分应用代码,使单个应用的职责更清晰,可以单独升级迭代。springcloud double

  • 出现原因:扩展性差;持续开发困难;不可靠;不灵活;代码维护困难
  • 缺点:运维复杂度高;资源使用变多;处理故障困难

8. 容器编排架构

借助容器化技术(如docker)将应用/服务打包成镜像

优点:

  • 部署运维简单:一条命令完成几百个服务的部署和扩容
  • 隔离性好:容器与容器之间的文件系统、网络等相互隔离,不会产生环境冲突

相关推荐
白远山7 小时前
上海24小时自助健身房解决方案实战指南与经验分享
java·数据库·架构·需求分析
LorryJovens7 小时前
【LAAP科研】双系统具身AGI范式研究——基于LAAP认知架构与Jev概率决策模型的系统性技术调研与范式验证
人工智能·gpt·安全·架构
JQweryuiop9 小时前
中小型游戏陪练工作室数字化管理实践:基于七彩屋电竞护航小程序订单、履约与绩效系统的落地复盘
大数据·游戏·小程序·架构
LONGZETECH9 小时前
一线职教实测:风光 580 汽车故障诊断仿真系统,破解实车实训四大核心痛点
人工智能·学习·安全·架构·汽车
萧瑟余晖9 小时前
Netty 核心组件与 Reactor 模型详解
网络·架构
她的男孩10 小时前
缓存明明命中了却报 ClassCastException:拆完多级缓存控制面,我挖出 5 个静默失效的坑
java·后端·架构
程序员清风10 小时前
系统架构设计:模型服务、业务服务与知识库如何拆分
人工智能·ai·架构·aigc
许彰午11 小时前
55-字典缓存与通知SPI
java·低代码·架构
天空属于哈夫克312 小时前
企业微信二次开发:用 sendText 做外部群工单播报
架构·企业微信