【Docker】常见概念|技术架构演进之路|八大架构|单机架构|应用数据分离架构|应用服务集群架构

目录

一、常见概念

应用(Application) / 系统(System)

模块(Module) / 组件(Component)

分布式(Distributed)

集群(Cluster)

主(Master) / 从(Slave)

中间件(Middleware)

容器(Docker)

容器编排(K8S)

评价指标(Metric)

可用性(Availability)

响应时长(Response Time RT)

吞吐(Throughput) vs 并发(Concurrent)

二、架构演进

单机架构

1.简介

2.出现原因

3.架构工作原理

4.技术案例

5.架构优缺点

6.相关软件

应用数据分离架构

1.简介

2.出现原因

3.架构工作原理

4.技术案例

5.架构优缺点

应用服务集群架构

1.简介

2.出现原因

3.架构工作原理

4.技术案例

5.架构优缺点


一、常见概念

应用(Application) / 系统(System)

        为了完成一整套服务的一个程序或者一组相互配合的程序群。生活例子类比:为了完成一项任务,而搭建的由一个人或者一群相互配的人组成的团队

模块(Module) / 组件(Component)

        当应用较复杂时,为了分离职责,将其中具有清晰职责的、内聚性强的部分,抽象出概念,便于理解。生活例子类比:军队中为了进行某据点的攻克,将人员分为突击小组、爆破小组、掩护小组、通信小组等

分布式(Distributed)

        系统中的多个模块被部署于不同服务器之上,即可以将该系统称为分布式系统。如 Web 服务器与数据库分别工作在不同的服务器上,或者多台 Web 服务器被分别部署在不同服务器上。生活例子类比:为了更好的满足现实需要,一个在同一个办公场地的工作小组被分散到多个城市的不同工作场地中进行远程配合工作完成目标。跨主机之间的模块之间的通信基本要借助网络支撑完成

集群(Cluster)

        被部署于多台服务器上的、为了实现特定目标的一个/组特定的组件,整个整体被称为集群。比如多个 MySQL 工作在不同服务器上,共同提供数据库服务目标,可以被称为一组数据库集群。生活例子类比:为了解决军队攻克防守坚固的大城市的作战目标,指挥部将大批炮兵部队集中起来形成一个炮兵打击集群

        分布式 vs 集群:通常不用太严格区分两者的细微概念,细究的话,分布式强调的是物理形态,即工作在不同服务器上并且通过网络通信配合完成任务;而集群更在意逻辑形态,即是否为了完成特定服务目标

主(Master) / 从(Slave)

        集群中,通常有一个程序需要承担更多的职责,被称为主;其他承担附属职责的被称为从。比如 MySQL 集群中,只有其中一台服务器上数据库允许进行数据的写入(增/删/改),其他数据库的数据修改全部要从这台数据库同步而来,则把那台数据库称为主库,其他数据库称为从库

中间件(Middleware)

        一类提供不同应用程序用于相互通信的软件,即处于不同技术、工具和数据库之间的桥梁。生活例子类比:一家饭店开始时,会每天去市场挑选买菜,但随着饭店业务量变大,成立一个采购部,由采购部专职于采买业务,称为厨房和菜市场之间的桥梁

容器(Docker)

        Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 操作系统的机器上,也可以实现虚拟化。可以理解为一个集装箱,集装箱里面是每个用户的货物,整体打包

容器编排(K8S)

        kubernetes,简称 K8s,是用 8 代替名字中间的 8 个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用, Kubernetes 的目标是让部署容器化的应用简单并且高效。可以理解为一个货船,安装集装箱的大小&#

你可能感兴趣的:(架构)