分布式思想

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关于分布式系统父子级关系说明

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

相关推荐
薛定谔的猫198224 分钟前
LLaMA-Factory +DeepSpeed 分布式多卡训练实战全解
分布式·deepspeed·zero·多卡训练·多卡分布式训练
稚南城才子,乌衣巷风流1 小时前
RabbitMQ 消息队列:从入门到实战
分布式·rabbitmq
Database_Cool_14 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
肥胖小羊1 天前
解决企业微信 AccessToken 刷新并发冲突的分布式锁机制实践
分布式·企业微信
风中凌乱2 天前
kafka新版本集群的安装与部署
分布式·kafka
SLD_Allen2 天前
大规模分布式AI训练基础设施
人工智能·分布式·模型训练
富士康质检员张全蛋2 天前
Kafka的操作-消费的详情
分布式·kafka
昕光xg2 天前
Istio笔记04-基于Jaeger的分布式链路追踪
笔记·分布式·istio
Benjamin℡2 天前
Zookeeper(一)搭建单体和集群服务以及Zookeeper客户端
分布式·zookeeper·云原生
wWYy.3 天前
分布式:数据复制
分布式