分布式集群概念

项目结构

单体架构

在一个项目中,如果所有的接口功能(包含多个业务功能),都集中到一个应用进程中,这种项目结构 就属于单体项目。

例如,地摊小吃:下单,制作,收银,出餐都是一人。

优点

结构简单,创建和开发成本比较低

运维简单,部署成本低

缺点

前提: 互联网行业需求--业务复杂,变化迅速,用户人群广,并发比较高

代码在大型项目系统中,会越来越臃肿.维护更新变动非常困难

难以满足并发的需求,功能并发冲突问题.(并发流量的木桶原则)

应用场景

如果开发的项目是互联网公司的项目,产品. 功能多,扩展更新快. 并发高,用户多,需求大.

例如: 大众点评,饿了么,美团,高德,百度地图,腾讯地图.....

这种项目不适合使用单体项目开发.

传统项目,产品,功能不复杂,用户量不大.需求更新速度按版本定期执行更新.

适合单体项目来使用开发的.

例如: 养殖系统,农业系统, 办公自动化OA系统.国企内部项目 银行内部系统.

分布式

一个任务,由多个角色组成,每个角色完成这个任务的不同部分,就是分布式。

代码层面:将一个项目去拆分成多个子级项目。

作用:给项目去中心化,提高子项目任务效率

例如,小餐馆:下单,制作,收银,出餐各一人。

集群

一个任务,由多个成员同时进行,所做的工作是完全相同的,相互可以代替。

代码层面:将一个项目部署到多个服务器上。

作用:解决并发请求压力

例如,某个功能模块出现了问题随时可以有另一个相同功能模块去顶替。

分布式集群

既有分布式 又有集群的结构- 分布式集群。

一个项目拆分成多个子项目,一个子项目由集群构成,通过负载均衡去调度各个子级模块

例如,大餐馆:人流量大,下单两人,制作三人,收银两人,出餐两人。

项目结构拆分

横向

分包:service、mapper、controller

纵向

单体架构演变成分布式集群应用结构必经过纵向拆分。

将一个系统中 按照功能,逻辑,划分成多个独立运行的单体系统,进行纵向拆分。

根据应用功能,进行纵向拆分,必定导致2个直接的问题出现:

拆分的独立系统之间 需要引入解决方案解决沟通问题.

如果需要沟通,相互应该传递应用信息.

结果: 在拆分之后,要解决更多新的问题,否则架构不能使用.

Docker分布式集群管理是指使用Docker技术来管理和部署分布式集群的一种方法。在传统的集群管理中,需要手动配置和管理每个节点,而使用Docker可以简化这个过程。 Docker是一种轻量级的容器化技术,它可以将应用程序及其依赖项打包成一个独立的容器,使其能够在不同的计算机上运行。在分布式集群中,可以使用Docker来创建和管理多个容器,每个容器运行一个或多个应用程序实例。 Docker分布式集群管理的核心概念包括以下几个方面: 1. Docker Swarm:Docker Swarm是Docker官方提供的用于管理Docker集群的工具。它允许用户将多个Docker主机组成一个逻辑集群,并使用简单的命令来管理集群中的容器。Swarm使用Raft一致性算法来保持集群的一致性,并提供负载均衡和容器调度等功能。 2. 服务(Service):服务是Docker Swarm中的一个概念,它表示一个可以在集群中部署和扩展的应用程序。用户可以通过定义服务的规模、镜像和其他配置参数来创建一个服务。Swarm会自动将服务的实例分配到集群中的不同节点上,并提供负载均衡和故障恢复等功能。 3. 节点(Node):节点是Docker Swarm中的一个概念,它表示集群中的一个物理或虚拟机器,可以运行Docker容器。节点可以是Swarm集群的管理节点(manager node)或工作节点(worker node)。管理节点负责管理集群的状态和配置信息,而工作节点负责运行和管理容器。 4. 服务发现和负载均衡:Docker Swarm提供了内置的服务发现和负载均衡功能。它使用内部DNS来解析服务名称,并将请求路由到正确的容器实例。这样,用户可以通过服务名称来访问应用程序,而不需要关心容器运行在哪个节点上。 5. 容器编排:Docker Swarm可以根据用户定义的规则和策略来自动部署、扩展和管理容器。用户可以使用简单的命令或配置文件来描述容器的要求和依赖关系,Swarm会根据这些信息自动调度和管理容器。 总之,Docker分布式集群管理通过使用Docker Swarm等工具,可以简化分布式集群的部署和管理过程,提供高可用性、负载均衡和容器编排等功能,使应用程序更易于开发和运维。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值