分布式思想

1、单体架构设计存在的问题

传统项目采用单体架构设计,虽然可以在一定的程度上解决企业问题,但是如果功能模块众多,并且将来需要二次开发.由于模块都是部署到同一台tomcat服务器中,如果其中某个模块代码出现了问题,将直接影响整个tomcat服务器运行.

这样的设计耦合性太高.不便于开发和维护.

2、分布式思想(拆)

2.1 分布式计算

说明: 如果某个业务需要处理1000G的数据 如果通过一个线程.该工作几乎不可能完成...

优化方式: 同时开启多个线程 一起执行任务的计算. 理论上来说运行的速度大幅度提升.

难点: 数据如何拆分/数据如何合并

计算方式: 大数据应用.

2.2 分布式系统

说明: 分布式系统指按照某种规则,将项目按照规则进行拆分.从架构上降低了系统的耦合性.提高软件的扩展性.

2.2.1 按照模块拆分

说明:按照特定的业务规则,将项目进行拆分.

2.2.2 按照层级拆分

说明: 由于某个项目比较复杂.需要多个开发人员相互配合.这时为了提高开发的效率.采用层级拆分的方式进行.

2.3分布式系统设计问题说明

铺垫: maven项目打包方式: 1.jar包(默认值) 2.war包 3.pom(聚合工程)

1).由于项目众多 如何统一的管理?

答案: 采用聚合工程的方式统一管理项目 打包方式 POM

2).项目多了之后,如何保证jar包版本的稳定?

答案: 采用统一的方式管理jar包文件 通过父级工程定义父级jar包.之后子级项目继承父级即可.

3).工具API如何做到统一的管理?

答案: 定义核心工具API工程. 架构师/高级程序员统一维护API项目. 之后API项目被其他的项目进行依赖.

2.4关于分布式系统父子级关系说明

说明: 如果搭建了父级工程 则可以通过父级检查所有的关联项目

相关推荐
心态还需努力呀15 小时前
CANN仓库通信库:分布式训练的梯度压缩技术
分布式·cann
Coder_Boy_18 小时前
基于SpringAI的在线考试系统-相关技术栈(分布式场景下事件机制)
java·spring boot·分布式·ddd
程序员泠零澪回家种桔子21 小时前
分布式事务核心解析与实战方案
分布式
凯子坚持 c1 天前
CANN 生态中的分布式训练利器:深入 `collective-ops` 项目实现高效多卡协同
分布式
惊讶的猫1 天前
rabbitmq实践小案例
分布式·rabbitmq
禁默1 天前
打破集群通信“内存墙”:手把手教你用 CANN SHMEM 重构 AIGC 分布式算子
分布式·重构·aigc
惊讶的猫1 天前
rabbitmq初步介绍
分布式·rabbitmq
小镇敲码人1 天前
华为CANN框架中HCCL仓库的全面解析:分布式通信的引擎
分布式·华为
User_芊芊君子1 天前
【分布式训练】CANN SHMEM跨设备内存通信库:构建高效多机多卡训练的关键组件
分布式·深度学习·神经网络·wpf
酷酷的崽7981 天前
CANN 开源生态解析(四):`cann-dist-train` —— 构建高效可扩展的分布式训练引擎
分布式·开源